我有如下数据框
Country City
UK London
USA Washington
UK London
UK Manchester
USA Washington
USA Chicago
我想将国家/地区分组,然后汇总到一个国家/地区中重复次数最多的城市
我想要的输出应该像
Country City
UK London
USA Washington
因为伦敦和华盛顿出现2次,而曼彻斯特和芝加哥仅出现1次。
我试过了
from scipy.stats import mode df_summary = df.groupby('Country')['City'].\ apply(lambda x: mode(x)[0][0]).reset_index()
但似乎对字符串不起作用
我无法复制您的错误,但是您可以使用pd.Series.mode
,它接受字符串并返回一个序列,iat
用于提取第一个值:
res = df.groupby('Country')['City'].apply(lambda x: x.mode().iat[0]).reset_index()
print(res)
Country City
0 UK London
1 USA Washington
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句