python - Pandas - 在 groupby 语句之后为均值和标准添加列
问题描述
我有以下数据框:
d = {'City' : ['Paris', 'London', 'NYC', 'Paris', 'NYC'], 'ppl' : [3000,4646,33543,85687568,34545]}
df = pd.DataFrame(data=d)
df_mean = df.groupby('City').mean()
现在我想只计算 ppl 列的平均值(和 .std()),我想在我的数据框中包含城市、平均值、标准(当然应该对城市进行分组)。如果这是不可能的,只需将至少 .std() 列的列添加到我的结果数据框中就可以了
解决方案
您可以使用.GroupBy.agg()
,如下所示:
df.groupby('City').agg({'ppl': ['min', 'std']})
如果您不希望该列City
成为索引,您可以执行以下操作:
df.groupby('City').agg({'ppl': ['min', 'std']}).reset_index()
或者
df.groupby('City')['ppl'].agg(['mean','std']).reset_index()
结果:
City mean std
0 London 4646 NaN
1 NYC 34044 7.085210e+02
2 Paris 42845284 6.058814e+07
推荐阅读
- c# - 从在线图像计算 MD5 哈希
- docker - 当 HEALTHCHECK 失败时 Docker 容器会发生什么
- css - V - 插槽,无法设置或访问它
- javascript - 错误:无法在 Img 字段中设置 null 的属性“src”
- postgresql - Postgresql 函数返回整数或空值
- visual-studio - 无法从 LAN 驱动器打开 VSTO
- swift - 如何在我的 NATIVESCRIPT PROJECT 中更改/添加 swift 版本?
- java - 在 IntelliJ 2020 1.1 中创建新 servlet 后无法解决符号“servlet”错误
- php - 评论相互重叠
- jquery - eonasdan bootstrap datetimepicker minDate 过去的一些日期除外