Więc mam ramkę danych:podzielić jeden poziom multi indeksu na kolumny
df = pd.DataFrame([["foo","fizz",1],["foo","fizz",2],["foo","buzz",3],["foo","buzz",4],["bar","fizz",6],["bar","buzz",8]],columns=["a","b","c"])
a b c
0 foo fizz 1
1 foo fizz 2
2 foo buzz 3
3 foo buzz 4
4 bar fizz 6
5 bar buzz 8
że mogę grupa:
df2 = df.groupby(["a","b"]).sum()
c
a b
bar buzz 8
fizz 6
foo buzz 7
fizz 3
co jest niesamowite! Ale to, co naprawdę potrzebne, zamiast „c” kolumny wynosi dwie kolumny, „foo” i „bar”:
foo bar
b
buzz 7 8
fizz 3 6
Może ktoś sugerują sposób to zrobić? Próbowałem szukać, ale domyślam się, że nie mam odpowiedniej terminologii, więc nie mogłem nic znaleźć.
Spróbuj 'df2.unstack (level = 'a')' –