表格分析智能体开始计算之前,先用一张字段概况表确认输入质量。字段名称相同,不代表列里的值完整或类型正确;把画像先交给用户看,比直接生成图表和结论更容易发现问题。
画像至少包含哪些信息
对每列记录 pandas 推断的类型、缺失数、缺失比例、非空唯一值数,并标出“非空且唯一”的候选编号列。本例有四行,city 和 amount 各缺一个值,constant 四行全为 1,id 暂时像候选主键。

候选主键只是程序检查结果;例如电话号码也可能暂时唯一,却不适合作长期编号。类型也只是当前读取结果,金额里的货币符号或日期的混合格式都需另查。画像是提问入口,不是自动清洗决策。
运行字段概况脚本
安装 pandas,将下面代码保存为 table_profile.py 并运行。示例数据为人工构造。tool_request 指定数据源编号和允许分析的列,画像工具返回 tool_result 的缺失列清单,供智能体说明下一步;例子没有接入真实 LLM 或文件系统。接入 CSV 时应先指定正确编码和必要的列类型,避免编号前导零被读掉。
import pandas as pd
# 仅展示表格分析前的概况,不替代业务规则审核。
frame=pd.DataFrame({'id':['a','b','c','d'],'city':['北京','上海','北京',None],
'constant':[1,1,1,1],'amount':[10,12,None,8]})
tool_request={'operation':'profile','source_id':'teaching-table-v1','columns':['id','city','constant','amount']}
assert tool_request['columns']==frame.columns.tolist()
profile=[]
for column in frame:
values=frame[column]
profile.append({'column':column,'dtype':str(values.dtype),'missing':int(values.isna().sum()),
'missing_rate':round(float(values.isna().mean()),2),
'unique_non_null':int(values.nunique(dropna=True)),
'candidate_id':bool(values.notna().all() and values.is_unique)})
report=pd.DataFrame(profile)
print(report.to_string(index=False))
print('constant_columns=',report.loc[report['unique_non_null'].eq(1),'column'].tolist())
tool_result={'source_id':tool_request['source_id'],'status':'needs_review',
'columns_checked':len(report),'columns_with_missing':report.loc[report['missing'].gt(0),'column'].tolist()}
print('tool_result=',tool_result)
依据结果安排下一步
输出会显示 city、amount 的缺失率均为 0.25,constant 被列入常量列清单。若准备建模,可调查常量列是否无信息;若准备分析城市或金额,先追查缺失记录。id 是候选主键,但仍需与来源系统核对编号是否稳定。
column dtype missing missing_rate unique_non_null candidate_id
id str 0 0.00 4 True
city str 1 0.25 2 False
constant int64 0 0.00 1 False
amount float64 1 0.25 3 False
constant_columns= ['constant']
tool_result= {'source_id': 'teaching-table-v1', 'status': 'needs_review', 'columns_checked': 4, 'columns_with_missing': ['city', 'amount']}
pandas 的缺失值指南解释 isna 与数据类型相关的注意事项;基础指南介绍列类型与基础统计接口。
画像看不到的风险
只有四行的教学表不能代表真实分布。真实数据应检查每批导入的字段变化、类别漂移、异常单位和时间范围;缺失率高也不必然意味着删除该列。智能体应把这些观察作为待确认问题呈现,让数据负责人决定处理规则。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31712.html