我的数据如下,数据框中的值是数量,而“红色”、“黄色”、“绿色”是类别
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/