mam normalne dfJak używać Groupby do zastosowania wielu funkcji do wielu kolumn w Pandach?
A = pd.DataFrame([[1, 5, 2], [2, 4, 4], [3, 3, 1], [4, 2, 2], [5, 1, 4]],
columns=['A', 'B', 'C'], index=[1, 2, 3, 4, 5])
Following this recipe, mam wyniki chciałem.
In [62]: A.groupby((A['A'] > 2)).apply(lambda x: pd.Series(dict(
up_B=(x.B >= 0).sum(), down_B=(x.B < 0).sum(), mean_B=(x.B).mean(), std_B=(x.B).std(),
up_C=(x.C >= 0).sum(), down_C=(x.C < 0).sum(), mean_C=(x.C).mean(), std_C=(x.C).std())))
Out[62]:
down_B down_C mean_B mean_C std_B std_C up_B up_C
A
False 0 0 4.5 3.000000 0.707107 1.414214 2 2
True 0 0 2.0 2.333333 1.000000 1.527525 3 3
Podejście to jest w porządku, ale wyobraź sobie, że musiał to zrobić dla dużej liczby kolumn (15-100), następnie trzeba wpisać wszystkie te rzeczy w formule, która może być kłopotliwe.
Biorąc pod uwagę, że te same formuły są stosowane do WSZYSTKICH kolumn. Czy istnieje skuteczny sposób, aby to zrobić dla dużej liczby kolumn ?.
Dzięki
To jest bardzo jasne. Dzięki. – hernanavella