Sto provando a creare una nuova colonna che restituisce la media dei valori di una colonna esistente nello stesso df. Tuttavia, la media dovrebbe essere calcolata in base a un raggruppamento in altre tre colonne.Panda dataframe condizionale .mean() in base ai valori in alcune colonne
Out[184]:
YEAR daytype hourtype scenario option_value
0 2015 SAT of_h 0 0.134499
1 2015 SUN of_h 1 63.019250
2 2015 WD of_h 2 52.113516
3 2015 WD pk_h 3 43.126513
4 2015 SAT of_h 4 56.431392
ho praticamente piacerebbe avere una nuova colonna 'media', che calcola la media di "valore di opzione", quando "anno", "daytype", e "hourtype" sono simili.
ho provato l'approccio seguito, ma senza successo ...
In [185]: o2['premium']=o2.groupby(['YEAR', 'daytype', 'hourtype'])['option_cf'].mean()
TypeError: incompatible index of inserted column with frame index
Stai chiamando '['option_cf']' ma il tuo dataframe ha '['option_value']'. – ASGM
Quindi, per le righe 2015-SAT-of_h, vuoi che vengano compresse in una nuova riga, o vuoi che entrambe le righe esistano ancora, ma hai una colonna "premium" con lo stesso valore medio? – DSM
In effetti entrambe le righe esistono ancora ma con una colonna "premium" con lo stesso valore medio .. ma questo è quello che viene proposto di seguito! – tpapz