Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何对由另一列分组的列中的值求和_Python_Pandas_Dataframe_Csv - Fatal编程技术网

Python 如何对由另一列分组的列中的值求和

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

我有这个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,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()]