我有以下DF:如何重新塑造熊貓數據框架?
id points
0 1 (2,3)
1 1 (2,4)
2 1 (4,6)
3 5 (6,7)
4 5 (8,9)
我想獲得以下數據幀:
id points
0 1 (2,3), (2,4), (4,6)
1 5 (6,7), (8,9)
請給我建議,以獲得預期的數據幀。
我有以下DF:如何重新塑造熊貓數據框架?
id points
0 1 (2,3)
1 1 (2,4)
2 1 (4,6)
3 5 (6,7)
4 5 (8,9)
我想獲得以下數據幀:
id points
0 1 (2,3), (2,4), (4,6)
1 5 (6,7), (8,9)
請給我建議,以獲得預期的數據幀。
如果points
是tuple
df.groupby('id').points.apply(list).reset_index()
id points
0 1 [(2, 3), (2, 4), (4, 6)]
1 5 [(6, 7), (8, 9)]
如果你想要一個array
df.groupby('id').points.apply(lambda x: np.array(x.values.tolist())).reset_index()
id points
0 1 [[2, 3], [2, 4], [4, 6]]
1 5 [[6, 7], [8, 9]]
如果points
是str
df.groupby('id').points.apply(', '.join).reset_index()
id points
0 1 (2,3), (2,4), (4,6)
1 5 (6,7), (8,9)
非常感謝,第一個用於元組的方法奏效。另外,有沒有辦法我可以得到一個數組列表,而不是每行中的元組列表 - [[2,3],[2,4],[4,6]] – Liza
@Liza更新後發佈 – piRSquared
是'points'實際上'tuple'或'str'? – piRSquared
'Dataframe'讓我感覺像錯誤的數據結構。已經有元組作爲元素是紅色的標誌,但是你想聚合成一個元組元組......爲什麼不只是一個'dict'? –
我在壓縮兩個單獨的列之後得到了點列 – Liza