如何在列中找到具有类似名称的单元格,并使用Python和DataFrame对其进行汇总

如何在列中找到具有类似名称的单元格,并使用Python和DataFrame对其进行汇总,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个巨大的CVS文件,其中包含数据,我需要以非常具体的方式按列汇总单元格 我的数据帧是: import pandas as pd df = pd.DataFrame({'country': ['Brazil','Brazil','Brazil','Brazil','Brazil','Brazil','Chile'], 'city': ['Salvador','Salvador','Teresina','Teresina','Teresina','','Iquique'], 'name':['

我有一个巨大的CVS文件,其中包含数据,我需要以非常具体的方式按列汇总单元格

我的数据帧是:

import pandas as pd
df = pd.DataFrame({'country': ['Brazil','Brazil','Brazil','Brazil','Brazil','Brazil','Chile'], 'city': ['Salvador','Salvador','Teresina','Teresina','Teresina','','Iquique'], 'name':['Gabriela','Gabriela','Maria','Fernanda','Carla','Solange','Isabel'], 'salary':[10.11,20.0,13.5,9.4,1.2,4.0,2.1], 'bonus':[3.3,4.2,7.1,0.2,5.1,2.0,1.1]})
我需要按列name在单元格中查找名称相似的行,然后按列salary和列bonus进行汇总

输出表必须如下所示:

   country      city  salary  bonus
0  Brazil  Salvador   30.11    7.5
1  Brazil  Teresina   24.10   12.4
2  Brazil              4.00    2.0
3   Chile   Iquique    2.10    1.11

谢谢你的帮助

您可以使用
groupby
按国家和城市进行分组,然后将所有剩余的数据相加:

new_df=df.groupby(['country','city']).agg({'salary':'sum','bonus':'sum})
这将返回您希望的数据帧


groupby
用于将国家/地区和城市相同的行匹配在一起,而
agg
告诉您应用什么函数-在您的案例中求和

仅城市和国家/地区上的一个
groupby
就应该这样做:

df = df.groupby(by=['city', 'country'], as_index=False).sum()
print(df)

       city country  salary  bonus
0            Brazil    4.00    2.0
1   Iquique   Chile    2.10    1.1
2  Salvador  Brazil   30.11    7.5
3  Teresina  Brazil   24.10   12.4
您可以使用groupby(在
['country','city']
上)并指定要计算(
['salary','bonus']
上)总和的列,如下所示:

df.groupby(['country','city'], as_index=False)['salary', 'bonus'].sum()

  country      city  salary  bonus
0  Brazil              4.00    2.0
1  Brazil  Salvador   30.11    7.5
2  Brazil  Teresina   24.10   12.4
3   Chile   Iquique    2.10    1.1
df.groupby(['country','city'], as_index=False)['salary', 'bonus'].sum()

  country      city  salary  bonus
0  Brazil              4.00    2.0
1  Brazil  Salvador   30.11    7.5
2  Brazil  Teresina   24.10   12.4
3   Chile   Iquique    2.10    1.1