我有一个巨大的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]})
country city name salary bonus
0 Brazil Salvador Gabriela 10.11 3.3
1 Brazil Salvador Gabriela 20.00 4.2
2 Brazil Teresina Maria 13.50 7.1
3 Brazil Teresina Fernanda 9.40 0.2
4 Brazil Teresina Carla 1.20 5.1
5 Brazil Solange 4.00 2.0
6 Chile Iquique Isabel 2.10 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(在
['country','city']
)并指定要在(['salary', 'bonus']
)上计算和的列,如下所示:您可以使用
groupby
按国家和城市进行分组,然后对所有剩余的进行求和:这将返回您希望的数据帧
使用
groupby
将国家和城市相同的行匹配在一起,并且agg
告诉在您的情况下应用什么函数-求和只要是城市和国家的一部分就可以做到:
相关问题 更多 >
编程相关推荐