将列值设置为一组熊猫的平均值

时间:2020-01-18 17:16:02

标签: python pandas

我有一个数据列,其中包含列X Y temperature Label

label是1到9之间的整数

我想增加一列my_label_mean_temperature,该列将为每行包含具有相同标签的行的温度平均值。

我很确定我需要从my_df.groupby('label')开始,但是不确定如何计算温度平均值并在原始数据帧的所有行上传播这些值

3 个答案:

答案 0 :(得分:1)

您的问题可以通过transform大熊猫方法解决。

您可以尝试这样的事情:

df['my_label_mean_temperature'] = df.groupby(['label']).transform('mean')

答案 1 :(得分:0)

像这样吗?

df = pd.DataFrame(data={'x':np.random.rand(19),
                        'y':np.arange(19),
                        'temp':[22,33,22,55,3,7,55,1,33,4,5,6,7,8,9,4,3,6,2],
                        'label': [1,2,3,4,2,3,9,3,2,9,2,3,9,4,1,2,9,7, 1]})

df['my_label_mean_temperature'] = df.groupby(['label'], sort=False)['temp'].transform('mean')

答案 2 :(得分:0)

df ['my_label_mean_temperature'] = df.groupby('label',as_index = False)['temperature']。mean()