2017-04-23 3 views
0

Ich habe einen ähnlichen Thread gepostet haben aber nun einen anderen Winkel zu erkunden: eine Kovarianzanalyse zwischen X und Z groupby 2 höhen Nachdem ich, erhalte ich eine DF wiePython Pandas: Wirr Indexwert

index  X  Z 

(1,1,'X') 2.3  0 

. ..

'1' und '1' sind die 2 verschiedenen Ebenen (Ich hätte '1' und '2' wählen können; es gibt 5 und 10 verschiedene Ebenen) Jetzt möchte ich jedes 'Element' extrahieren des Indexes und etwas haben

index  X  Z  H1  H2  H3 

(1,1,'X') 2.3  0  1  1  X 

...

Ich lese einige Beiträge auf Slice and Dice Dinge - aber das ist keine normale Zeichenfolge ist das? Cheers

Antwort

0

(1,1, 'X') ist keine Zeichenfolge hier, es ist ein Tupel.

Sie müssen also das Tupel in mehrere Spalten aufteilen. Sie können diese

anwenden, indem Sie erreichen (pandas.Series)

sagen, dass Ihre Datenrahmen df in diesem Fall war.

df.apply(pandas.series) 
In [10]: df['index'].apply(pd.Series) 
Out[10]: 
0 1 2 3 
0 1 1 'X' 

Sie müssen die Spalten zurück zum ursprünglichen Datenrahmen hinzufügen, so

df[['H1', 'H2','H3']] = df.apply(pandas.Series) 
+0

ich schon ein schwaches Licht am Ende des Tunnels zu sehen. Wie du vielleicht gedacht hast, bin ich neu in diesem Bereich. –

+0

wenn ich renne importieren pandas pd df.apply (pd.series) Ich bekomme ein 'Modul Pandas hat keine Attribut-Serie. Sollte ich auch Serien importieren? –

+0

Gelöst !!! ein kleiner Fehler meinerseits für die letzte Strecke. vielen Dank TheManhasNoName. Zauber! –