我想在數據框中應用滾動平均函數。我在數據框中有多個類別(列類別中的A和B),所以我必須計算每個類別的滾動平均值,這是我的問題。根據另一列的值在新數據幀列中應用函數
數據框如下所示。 Rolling_Mean列是預期結果。
Date Category Value Rolling_Mean
01.01.2017 A 12,30 NaN
02.01.2017 A 12,50 NaN
03.01.2017 A 12,90 12,57
04.01.2017 A 13,10 12,70
05.01.2017 A 12,90 12,74
06.01.2017 A 13,55 12,88
07.01.2017 A 13,12 12,91
01.01.2017 B 1,14 NaN
02.01.2017 B 1,52 NaN
03.01.2017 B 1,74 1,47
04.01.2017 B 2,12 1,63
05.01.2017 B 1,75 1,65
06.01.2017 B 1,69 1,66
07.01.2017 B 1,35 1,62
計算滾動平均值我用熊貓滾動:
df['Rolling_Mean'] = df['Value'].rolling (window=3).mean()
,但我不能夠計算滾動平均值爲多個類別。
我試圖用numpy.where(下面)來計算這個,但它只適用於一個類別,我在尋找解決方案,它適用於10個類別。
df['Rolling_Mean'] = np.where((df.Category == 'A'), df['Value'].rolling(window=3).mean(), 0)
謝謝,它的工作原理! – bar1
很高興能幫到你!美好的一天! – jezrael