猿问

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

我正在导入一个具有类似供应商名称的excel文件,并使用agg函数添加支出,然后使用排序函数对支出进行排序。最终,这些数据帧被馈送到动态散景图上。由于文本格式,我的供应商名称差异很大,我的pandas数据帧在添加支出时无法识别此模式。尽管它是同一个供应商,但我没有得到支出的整体视图,但缺少一些数据,最终没有在散景图中得到计数。


数据

Vendor    Site    Spend

ABC INC   A        300

ABC,Inc   B        100

ABC,Inc.  C        50

ABC,INC.  D        10

预期成果

所有数据加起来应为 460。


aluckdog
浏览 86回答 1
1回答

犯罪嫌疑人X

在尝试获取总和之前,您可以处理标点符号,空格和大写字母与更低的值,但它会更改输出中供应商的名称: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  Spend0  ABCINC    A    3001  ABCINC    B    1002  ABCINC    C     503  ABCINC    D     10和输出:ABCINC    460
随时随地看视频慕课网APP

相关分类

Python
我要回答