我正在导入一个具有类似供应商名称的excel文件,并使用agg函数添加支出,然后使用排序函数对支出进行排序。最终,这些数据帧被馈送到动态散景图上。由于文本格式,我的供应商名称差异很大,我的pandas数据帧在添加支出时无法识别此模式。尽管它是同一个供应商,但我没有得到支出的整体视图,但缺少一些数据,最终没有在散景图中得到计数。数据Vendor Site SpendABC INC A 300ABC,Inc B 100ABC,Inc. C 50ABC,INC. D 10预期成果所有数据加起来应为 460。
1 回答

犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
在尝试获取总和之前,您可以处理标点符号,空格和大写字母与更低的值,但它会更改输出中供应商的名称:
df.groupby([x.upper().replace(' ', '').replace(',','').replace('.','') for x in df['Vendor']])['Spend'].sum()
ABCINC 460
您还可以在调用组之前就地修改列名:
df['Vendor'] = df['Vendor'].str.upper().str.replace(' ', '').str.replace(',','').str.replace('.','')
print(df.groupby('Vendor')['Spend'].sum())
df 现在如下所示:
Vendor Site Spend
0 ABCINC A 300
1 ABCINC B 100
2 ABCINC C 50
3 ABCINC D 10
和输出:
ABCINC 460
添加回答
举报
0/150
提交
取消