使用Python熊猫合并SIMILAR值行

时间:2018-11-16 01:58:28

标签: python-3.x pandas dataframe data-science

假设我具有以下数据框-

company                           money
jack & jill, Boston, MA 02215        51
jack & jill, MA 02215                49

现在,我知道这两行表示同一家公司,所以我想将它们合并并加总资金-

company                           money
jack & jill, Boston, MA 02215       100

我不关心公司名称的格式,只要合并重复项并增加钱款即可。

我应该怎么做?是否有一个库可以合并相似的值行并求和相应的定量值?

1 个答案:

答案 0 :(得分:0)

如果您在company列中具有相同的模式,即,第一个逗号之前的值是公司名称。您可以使用如下所示的内容:

df = pd.DataFrame({'company':['jack & jill, Boston, MA 02215','jack & jill, MA 02215','Google, New Jersey', 'Google'], 
                   'money':[51,49, 33, 22]})


df['company'] = df['company'].apply(lambda x: x.split(",")[0])

new_df = df.groupby(['company'])['money'].sum().reset_index()

print(new_df)

输出:

    company money
0   Google  55
1   jack & jill 100