ฉันมี dataframe แบบนี้:
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 !
การเรียกร้อง
In [10]: print df.groupby("A")["B"].sum()
จะกลับมา
A
1 1.615586
2 0.421821
3 0.463468
4 0.643961
ตอนนี้ฉันต้องการทำ "เหมือนกัน" สำหรับคอลัมน์ "C" เนื่องจากคอลัมน์นั้นมีสตริง sum () จึงไม่ทำงาน (แม้ว่าคุณอาจคิดว่ามันจะเชื่อมสตริงเข้าด้วยกันก็ตาม) สิ่งที่ฉันอยากเห็นจริงๆคือรายการหรือชุดของสตริงสำหรับแต่ละกลุ่มนั่นคือ
A
1 {This, string}
2 {is, !}
3 {a}
4 {random}
ฉันพยายามหาวิธีการนี้มาตลอด
Series.unique () ( http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.unique.html ) ไม่ทำงานแม้ว่า
df.groupby("A")["B"]
คือ
pandas.core.groupby.SeriesGroupBy object
ดังนั้นฉันหวังว่าวิธี Series ใด ๆ จะใช้ได้ผล ความคิดใด ๆ ?
apply
และlambda
s ฉันมาที่นี่โดยสงสัยว่าทำไมจึงเชื่อมต่อpandas
จริงและไม่ส่งคืนข้อผิดพลาดในการสรุปสตริง