Bunun gibi bir veri çerçevem var:
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 !
çağrı
In [10]: print df.groupby("A")["B"].sum()
dönecek
A
1 1.615586
2 0.421821
3 0.463468
4 0.643961
Şimdi "C" sütunu için "aynısını" yapmak istiyorum. Bu sütun dizeler içerdiğinden, sum () çalışmaz (dizeleri birleştireceğini düşünseniz bile). Gerçekten görmek istediğim şey, her grup için bir dizi veya dizi dizisidir.
A
1 {This, string}
2 {is, !}
3 {a}
4 {random}
Bunu yapmanın yollarını bulmaya çalışıyorum.
Series.unique () ( http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.unique.html ) çalışmıyor, ancak
df.groupby("A")["B"]
bir
pandas.core.groupby.SeriesGroupBy object
bu yüzden herhangi bir Seri yönteminin işe yarayacağını umuyordum. Herhangi bir fikir?
apply
velambda
s'ye olan ihtiyacı ortadan kaldırarak vektörleştirilmiştir . Buraya nedenpandas
aslında concats'i ve dizeleri toplamada bir hata döndürmediğini merak ederek geldim .