我有一個看起來像在圖片中的數據幀。 按特定行計算特定列的平均值
現在,我想添加一個新列,它將顯示每天的功率平均值(假設數據每5分鐘進行一次採樣),但是當它是day_or_night時(日期= 0,夜= 1)。這一步我已經得到了:
train['avg_by_day'][train['day_or_night']==1] = train['power'][train['day_or_night']==1].mean() train['avg_by_day'][train['day_or_night']==0] = train['power'][train['day_or_night']==0].mean()
但是這只是增加了對應於天,或類似的一切權力值的平均值 - 夜晚,這是不是我以後是:特定平均分別爲每天/每晚。
我需要這樣的東西:train ['avg_by_day'] == train.power.mean()when day == 1 and day_or_night == 1,and this for each day。
好想法!如果我簡單地寫道: 'train ['avg_by_day'] = train.groupby(['year','month','day','day_or_night'])['power' ] \ .transform('mean')' – saremisona
是的,只需將它們添加到'groupby' :)。 – gereleth
非常感謝! :) – saremisona