2014-05-08 4 views
0

J'ai un dataframe de pandas géants:lignes Convertir en chaîne séparées par des virgules dans pandas géants

from pandas import DataFrame 
import pandas as pd 
df2 = DataFrame({'a' : ['one', 'one', 'two','two', 'three', 'two', 'one', 'six'], 
       'b' : ['x', 'y', 'z', 'y', 'x', 'y', 'x', 'x']}) 

J'ai besoin de groupe à l'aide de la colonne 'a'.

df3 = df2.groupby(['a']) 

Ensuite, je veux convertir la colonne 'b' en chaînes séparées par des virgules, la table résultante devrait ressembler à ceci:

a  b 
--------------- 

one  j, k, l 

two  m, n, o 

three p, q 

Est-ce que quelqu'un sait comment le faire sans laisser de pandas géants? Cela semble simple, mais ne peut pas trouver un moyen de le faire à l'intérieur des pandas.

Répondre

6

REVISEE DE @DSM commentaire

In [12]: df2.groupby('a')['b'].apply(','.join) 
Out[12]: 
a 
one  x,y,x 
six   x 
three  x 
two  z,y,y 
Name: b, dtype: object 
+1

-je obtenir le même résultat avec juste la fonction 'lambda x: "" .join (x)' – mtadd

+0

yep..thanks @mtadd – Jeff

+0

Merci de Jeff et de lot mtadd! – user690462

Questions connexes