按功能分组的字符串模式聚合

摩西·索尔曼

我有如下数据框

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()

但似乎对字符串不起作用

pp

我无法复制您的错误,但是您可以使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章