熊猫中连续非空值的平均值

时间:2021-03-29 09:00:20

标签: pandas dataframe

我想在数据框中添加连续非空值的平均值 下图显示了输入、需要的输出和输出描述。

enter image description here

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

GroupBy.transform 与由 Series.cumsum 创建的组与 Series.isna 的测试缺失值一起使用,并仅分配给具有非缺失值的行,并使用 ~ 的反转掩码:

df = pd.DataFrame({'Input':[5,6,7,np.nan, np.nan, np.nan,13,32,12]})

m = df['Input'].isna()

df.loc[~m, 'output'] = df[~m].groupby(m.cumsum())['Input'].transform('mean')
print (df)
   Input  output
0    5.0     6.0
1    6.0     6.0
2    7.0     6.0
3    NaN     NaN
4    NaN     NaN
5    NaN     NaN
6   13.0    19.0
7   32.0    19.0
8   12.0    19.0