Tengo un marco de datos como este:
A B C
0 1 0.749065 This
1 2 0.301084 is
2 3 0.463468 a
3 4 0.643961 random
4 1 0.866521 string
5 2 0.120737 !
Vocación
In [10]: print df.groupby("A")["B"].sum()
volverá
A
1 1.615586
2 0.421821
3 0.463468
4 0.643961
Ahora me gustaría hacer "lo mismo" para la columna "C". Debido a que esa columna contiene cadenas, sum () no funciona (aunque podría pensar que concatenaría las cadenas). Lo que realmente me gustaría ver es una lista o un conjunto de cadenas para cada grupo, es decir
A
1 {This, string}
2 {is, !}
3 {a}
4 {random}
He estado tratando de encontrar formas de hacer esto.
Series.unique () ( http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.unique.html ) no funciona, aunque
df.groupby("A")["B"]
es un
pandas.core.groupby.SeriesGroupBy object
así que esperaba que cualquier método de Series funcionara. ¿Algunas ideas?
apply
ylambda
s. Vine aquí preguntándome por qué enpandas
realidad concats y no devuelve un error al sumar cadenas.