为了账号安全,请及时绑定邮箱和手机立即绑定

如何在相似的行名上使用 Pandas 识别模式

如何在相似的行名上使用 Pandas 识别模式

aluckdog 2022-09-06 19:42:38
我正在导入一个具有类似供应商名称的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


查看完整回答
反对 回复 2022-09-06
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号