2017-04-23 4 views
0

j'ai posté un fil similaire, mais maintenant un autre angle à explorer: Après avoir fait une analyse de covariance entre X et Z GroupBy 2 niveaux différents, je reçois un DF commePython pandas géants: indice Étrange valeur

index  X  Z 

(1,1,'X') 2.3  0 

.

'1' et '1' sont les 2 niveaux différents (j'aurais pu choisir '1' et '2', il y a 5 et 10 niveaux différents) Maintenant je voudrais extraire chaque 'élément' de l'index et avoir quelque chose

index  X  Z  H1  H2  H3 

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

...

J'ai lu quelques articles sur des choses de tranche et de dés - mais ce n'est pas une chaîne normale est-ce? Acclamations

Répondre

0

(1,1, 'X') n'est pas une chaîne ici, c'est un tuple.

Vous avez donc besoin de diviser le tuple en plusieurs colonnes. Vous pouvez y parvenir

en utilisant apply (pandas.Series)

que votre dataframe était df dans ce cas.

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

Vous devez ajouter les colonnes de retour à la trame de données d'origine afin

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

Je peux voir une faible lumière au bout du tunnel déjà. comme vous l'avez peut-être deviné, je suis nouveau dans ce domaine. –

+0

quand je cours importation pandas pd df.apply (pd.series) Je reçois un 'module pandas n'a aucune série d'attributs. Dois-je importer des séries aussi? –

+0

Résolu !!! légère erreur de ma part pour le dernier tronçon. merci beaucoup TheManhasNoName. la magie! –