我有這個資料幀:
C0 C1 C2
0 jjj 3
0 aaa 2
1 bbb 7
使用 Pandas 獲取這個新 DataFrame 的最pythonic 的方法是什么?
C0 C1
0 aaa:2,jjj:3
1 bbb:7
uj5u.com熱心網友回復:
我有一個與@Ch3ster 類似的方法,有點不同的管道:
(df.sort_values('C1')
.assign(C1=lambda d: d['C1'] ':' d['C2'].astype(str))
.groupby('C0', as_index=False)['C1'].apply(','.join)
)
輸出:
C0 C1
0 0 aaa:2,jjj:3
1 1 bbb:7
uj5u.com熱心網友回復:
您可以使用DataFrame.sort_values. 您可以使用Series.str.catsep 進行連接。然后 groupby 并使用str.join.
df = df.sort_values('C1')
df["C1"].str.cat(df["C2"].astype(str), ":").groupby(df["C0"]).agg(
",".join
).to_frame().reset_index()
C0 C1
0 0 aaa:2,jjj:3
1 1 bbb:7
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/363643.html
