python - 从组中获取列描述

标签 python pandas bigdata

我对按 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

谢谢!

最佳答案

我想你需要groupbydescribe , 最后 reshape 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

关于python - 从组中获取列描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42579148/

相关文章:

python - 访问我的网站页面后无法登录管理页面

python - 如何显示列表中有限数量的值?

python - 如何在groupby agg之后删除 `<lambda>`

apache - [schema.xml] fieldType "pint": Error loading class 'solr.IntField' 的 SolrException 插件初始化失败

hadoop - HBase和hadoop一起工作

python - 如何开始使用大数据分析

python - Selenium 在下载时给出文件名

python - solvePnPRansac 为 rvecs 和 tvecs 返回零值

python - 将函数应用于数据框列

python - 如何使用具有日期过滤器的 IF else 创建新列(替代 SAS then do)