python - 如何在 pandas 数据框中使用 groupby 来获取以下数据的平均值?

标签 python pandas pandas-groupby

我的数据如下,数据框中的值是数量,而“红色”、“黄色”、“绿色”是类别

items  place     red     green   yellow  
a      VA         1       7       9
b      VA         3       0       19
c      VA         5       1        0
d      VA         11      3        4
e      VA         2       2        1
a      NJ         0       0        3
b      NJ         3       0        9
c      NJ         2       4        0
d      NJ         0       5        6
e      NJ         2       7        1
a      MO         0       0        5
b      MO         1       0        4
c      MO         1       4        0
d      MO         0       0        5
e      MO         1       7        1

对于每个地点类别组合,我想计算所有 5 个项目(a、b、c、d、e)的这些数量的平均值,

category  place  Avg_quantity
red        VA     ..
green      VA .   ..
yellow     VA     ..
 red       NJ     ..
green      NJ     ..
yellow     NJ     ..
 red       MO     ..
green      MO     ..
yellow     MO     ..

最佳答案

你可以做 groupby mean 然后 melt

df.groupby('place')[['red','green','yellow']].mean().reset_index().melt('place')
Out[576]: 
  place variable  value
0    MO      red    0.6
1    NJ      red    1.4
2    VA      red    4.4
3    MO    green    2.2
4    NJ    green    3.2
5    VA    green    2.6
6    MO   yellow    3.0
7    NJ   yellow    3.8
8    VA   yellow    6.6

关于python - 如何在 pandas 数据框中使用 groupby 来获取以下数据的平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50729226/

相关文章:

python - 如何从 pandas 数据框中删除不在列表中的某些值?

python - pandas groupby 申请真的很慢

python - pandas如何在聚合另一列时按组大小对groupby进行排序

python - 这是使用 groupby、apply 和 join 的最快/python 方式吗?

python - 在嵌套的 python 字典和列表中查找目标值的路径

python - Django抽象模型继承

Python Pandas 删除重复的单元格 - 保留行

python - Python 2.7 中的 Open() 和 codecs.open() 行为异常不同

python - 为什么 QWebView.loadFinished 在某些网站上被多次调用,例如YouTube?

python - 读取文本文件并计算概率和香农熵