Python 如何求类别列的平均值
我使用pandas cut来存储连续值。我想知道如何得到每个垃圾箱的平均值 MWEPython 如何求类别列的平均值,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
将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