Python 如何求类别列的平均值

Python 如何求类别列的平均值,python,pandas,Python,Pandas,我使用pandas cut来存储连续值。我想知道如何得到每个垃圾箱的平均值 MWE 将numpy导入为np 作为pd进口熊猫 np.随机种子(100) df=pd.DataFrame({'a':np.random.randint(1,10,10)}) df['bins_a']=局部切割(df['a'],4) 打印(df) 垃圾桶 0 9 (7.0, 9.0] 1 9 (7.0, 9.0] 2 4 (3.0, 5.0] 3 8 (7.0, 9.0] 4 8

我使用pandas cut来存储连续值。我想知道如何得到每个垃圾箱的平均值

MWE
将numpy导入为np
作为pd进口熊猫
np.随机种子(100)
df=pd.DataFrame({'a':np.random.randint(1,10,10)})
df['bins_a']=局部切割(df['a'],4)
打印(df)
垃圾桶
0  9    (7.0, 9.0]
1  9    (7.0, 9.0]
2  4    (3.0, 5.0]
3  8    (7.0, 9.0]
4  8    (7.0, 9.0]
5  1  (0.992, 3.0]
6  5    (3.0, 5.0]
7  3  (0.992, 3.0]
8  6    (5.0, 7.0]
9  3  (0.992, 3.0]
我试过:

df['bins_a_mean'] = df['bins_a'].mean()

But this fails.
如何获得每个间隔的平均值?

尝试以下方法:

df['bin\u a\u mean']=df.groupby('bin\u a')['a'].transform('mean'))
打印(df)
一个箱子是什么意思
0  9    (7.0, 9.0]     8.500000
1  9    (7.0, 9.0]     8.500000
2  4    (3.0, 5.0]     4.500000
3  8    (7.0, 9.0]     8.500000
4  8    (7.0, 9.0]     8.500000
5  1  (0.992, 3.0]     2.333333
6  5    (3.0, 5.0]     4.500000
7  3  (0.992, 3.0]     2.333333
8  6    (5.0, 7.0]     6.000000
9  3  (0.992, 3.0]     2.333333

df.groupby('bins_a')['a'].mean()
你期望的回答是什么?我需要每行的bins_a平均值。这是什么意思!?@MilkyWay001当然,但失败的方式有很多种。例如,有人可能无法解释他们面临的错误,这会导致其他人无法理解问题;p