Ich möchte die Spalten meines Datenrahmens in Gruppen organisieren. Allgemein kann ich bei der Analyse Variablen wie Bezeichnervariablen, unabhängige Variablen und abhängige Variablen haben, und ich denke, es ist organisatorisch sinnvoll, alle diese Variablen unter gemeinsamen Überschriften zusammenzufassen.Organisieren von DataFrame-Spalten in MultiIndex
Hier ist ein Beispiel
import string
import pandas as pd
df = pd.DataFrame({"a": list(string.ascii_lowercase[:5]),
"b" : np.arange(0,5),
"c":list(string.ascii_uppercase[:5]),
"d" : np.arange(5,10)})
index1 = pd.MultiIndex.from_product([["Letter"], ["a","c"]])
index2 = pd.MultiIndex.from_product([["Number"], ["b", "d"]])
index = index1.union(index2)
df.columns = index
Dies gilt nicht genau arbeiten.
Letter Number
a c b d
0 a 0 A 5
1 b 1 B 6
2 c 2 C 7
3 d 3 D 8
4 e 4 E 9
Stattdessen muss ich
df = df[index.get_level_values(1)]
df.columns = index
hinzufügen, um die Spalten neu zu ordnen, so dass sie mit der zweiten Ebene Multiindex in einer Reihe aufstellen, bevor ich den Index ändern. Das fühlt sich etwas klobig an und ich habe mich nur gefragt, ob es einen besseren Weg dafür gibt.
'df = df [index.get_level_values (1)] scheint abgehört? –
Ich weiß nicht über Bugged ... vielleicht nur unnötig. Ich suche nur nach einer sauberen Syntax, um Spalten zusammenzufassen und einen Multiindex hinzuzufügen. Selbst '' 'pd.MultiIndex.from_product''' scheint klobig zu sein. Ich muss einen Multi-Index für jede Gruppe von Spalten erstellen. Ich möchte nur eine Partition der Spalten und Schlüssel für jede Partition angeben und einen hierarchischen Datenrahmen zurückgeben. – Ben