Python 如何对由另一列分组的列中的值求和
我有这个CSV文件:Python 如何对由另一列分组的列中的值求和,python,pandas,dataframe,csv,Python,Pandas,Dataframe,Csv,我有这个CSV文件: ID,NAME,CITY,COUNTRY,CPERSON,EMPLCNT,CONTRCNT,CONTRCOST 00000001,Breadpot,Sydney,Australia,Sam.Keng@info.com,250,48,1024.00 00000002,Hoviz,Manchester,UK,harry.ham@hoviz.com,150,7,900.00 00000003,Hoviz,London,UK,hamlet.host@hoviz.com,1500,1
ID,NAME,CITY,COUNTRY,CPERSON,EMPLCNT,CONTRCNT,CONTRCOST
00000001,Breadpot,Sydney,Australia,Sam.Keng@info.com,250,48,1024.00
00000002,Hoviz,Manchester,UK,harry.ham@hoviz.com,150,7,900.00
00000003,Hoviz,London,UK,hamlet.host@hoviz.com,1500,12800,10510.50
00000004,Grenns,London,UK,grenns@grenns.com,200,12800,128.30
00000005,Magnolia,Chicago,USA,man@info.com,1024,25600,512000.00
00000006,Dozen,San Francisco,USA,dozen@dozen.com,1000,5,1000.20
00000007,Sun,San Francisco,USA,sunny@sun.com,2000,2,10000.01
我想做的是找到拥有最多合同的国家。有些国家在数据框中出现多次,因此我需要找到合同金额最大的国家
我想总结一下所有国家的合同,然后找出最大的一个,但我想用一种不是暴力的方式。实际上,我想知道如何使用Pandas的groupby函数来解决这个问题。因此您可以使用sum
groupby
,然后执行idxmax
df.groupby('COUNTRY')['CONTRCOST'].sum().idxmax()
然后
这只会返回国家。我还要回电话号码。如下所示:
USA(25607份合同)
@oo92检查更新这是输出:USA(国家/地区USA 523000.21名称:CONTRCOST,数据类型:float64)合同
这是所需的输出:USA(25607份合同)
s = df.groupby('COUNTRY')['CONTRCOST'].sum()
s[s==s.max()]