Ich habe einen Datenrahmen mit Spalt würde Ich mag einen Multi-Index machen, indem die wie bewertet Einträge in einer Spalte GruppierungSet Muti-Index von Spaltenwert
A a 3
B c 2
A d 1
A e 4
B a 5
A a 3
d 1
e 4
B c 2
a 5
Ich habe einen Datenrahmen mit Spalt würde Ich mag einen Multi-Index machen, indem die wie bewertet Einträge in einer Spalte GruppierungSet Muti-Index von Spaltenwert
A a 3
B c 2
A d 1
A e 4
B a 5
A a 3
d 1
e 4
B c 2
a 5
wird Sie kann den Index als die ersten beiden Spalten festlegen und dann sortieren.
# create data
df = pd.DataFrame({'col1': {0: 'A', 1: 'B', 2: 'A', 3: 'A', 4: 'B'},
'col2': {0: 'a', 1: 'c', 2: 'd', 3: 'e', 4: 'a'},
'col3': {0: 3, 1: 2, 2: 1, 3: 4, 4: 5}})
# set and sort index
df.set_index(['col1', 'col2']).sort_index(level=['col1', 'col2'])
Ausgabe
col3
col1 col2
A a 3
d 1
e 4
B a 5
c 2
Sie verwenden groupby
mit Aggregatfunktion nur:
df = df.groupby(['1', '2']).sum()
Gerade 1
und 2
mit Spaltennamen ändern.
Aus Gründen der widerwärtig zu sein und die Bereitstellung eine Antwort ohne Hinweis auf die Spaltennamen, weil keine
df.set_index(pd.MultiIndex.from_arrays(df.values[:, :2].T)).iloc[:, -1].sort_index()
A a 3
d 1
e 4
B a 5
c 2
dtype: int64
gegeben, die besagten, bitte @ Antwort des TedPetrou holen.