从 group by 获取列描述
Posted
技术标签:
【中文标题】从 group by 获取列描述【英文标题】:Get columns describe from group by 【发布时间】:2017-03-03 12:40:41 【问题描述】:我对从 Pandas 的数据集按组获取数据描述很感兴趣。 这些数据是指不同人的假期。
此外,访问过的地方的数量存储在该城市。
City Name Places
0 Seattle Alice 10
1 Seattle Bob 11
2 Portland Mallory 7
3 Seattle Mallory 5
4 Memphis Bob 6
5 Portland Mallory 9
6 Memphis Alice 1
7 Memphis Alice 20
8 Seattle Alice 14
9 Seattle Bob 10
我想从 DataFrame.describe() 中获取数据
新的数据框应该是这样的。
Name City Count Mean Std Min 25% 50% 75% Max
Alice Seattle 2 X X X X X X X
Alice Memphis 2 X X X X X X X
Bob Seattle 2 X X X X X X X
Bob Memphis 1 X X X X X X X
Mallory Portland 2 X X X X X X X
Mallory Seattle 1 X X X X X X X
谢谢!
【问题讨论】:
【参考方案1】:我认为你需要groupby
和describe
,最后由unstack
重塑:
df = df.groupby(['Name','City'])['Places'].describe().unstack().reset_index()
print (df)
Name City count mean std min 25% 50% 75% max
0 Alice Memphis 2.0 10.5 13.435029 1.0 5.75 10.5 15.25 20.0
1 Alice Seattle 2.0 12.0 2.828427 10.0 11.00 12.0 13.00 14.0
2 Bob Memphis 1.0 6.0 NaN 6.0 6.00 6.0 6.00 6.0
3 Bob Seattle 2.0 10.5 0.707107 10.0 10.25 10.5 10.75 11.0
4 Mallory Portland 2.0 8.0 1.414214 7.0 7.50 8.0 8.50 9.0
5 Mallory Seattle 1.0 5.0 NaN 5.0 5.00 5.0 5.00 5.0
【讨论】:
非常简洁的答案!以上是关于从 group by 获取列描述的主要内容,如果未能解决你的问题,请参考以下文章
通过 group by 和 joins 获取多个表的多个列的总和
Linq Group by 并获取返回所有列的特定字符串规则的所有值
在 SQL 中使用 Group By 和 Aggregate - 获取错误“选择列表中的列无效,因为它不包含在聚合函数或 GROUP BY 中”