Próbuję utworzyć nową kolumnę, która zwraca średnią wartości z istniejącej kolumny w tym samym df. Jednak średnia powinna być obliczana na podstawie grupowania w trzech innych kolumnach.Panda ramka danych warunkowa .mean() w zależności od wartości w pewnej kolumnie
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
I w zasadzie chciałoby mieć nową kolumnę „średni”, który obliczyć średnią wartość opcji „”, gdy „rok”, „daytype” i „hourtype” są podobne.
Próbowałem następujące podejście, ale bez powodzenia ...
In [185]: o2['premium']=o2.groupby(['YEAR', 'daytype', 'hourtype'])['option_cf'].mean()
TypeError: incompatible index of inserted column with frame index
Nazywasz '['option_cf']' ale twoja ramka danych ma '['wartość_opcji']'. – ASGM
Tak więc dla wierszy 2015-SAT-of_h, czy chcesz, aby były zwinięte w jeden nowy wiersz, czy też chcesz, aby oba wiersze nadal istnieją, ale mają kolumnę "premium" z (taką samą) średnią wartością? – DSM
Rzeczywiście oba wiersze nadal istnieją, ale z kolumną "premium" z tą samą średnią wartością. Ale to jest "proponowane poniżej! – tpapz