Python 如何重新塑造熊猫数据框?
我有以下几点意见:Python 如何重新塑造熊猫数据框?,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下几点意见: 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.groupby('id').points.apply(list).reset_index() id
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.groupby('id').points.apply(list).reset_index()
id points
0 1 [(2, 3), (2, 4), (4, 6)]
1 5 [(6, 7), (8, 9)]
如果需要数组
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]]
如果
点
是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)
如果
点
是元组
df.groupby('id').points.apply(list).reset_index()
id points
0 1 [(2, 3), (2, 4), (4, 6)]
1 5 [(6, 7), (8, 9)]
如果需要数组
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]]
如果
点
是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)
是
点
实际上是元组
还是str
?数据帧
给我的印象就像是错误的数据结构。已经有元组作为元素是一个危险信号,但是您想要聚合成元组的元组。。。为什么不仅仅是一个dict
?我在压缩了两个单独的列后得到了points列,它们是points
实际上是tuple
或str
?一个Dataframe
让我感觉像是错误的数据结构。已经有元组作为元素是一个危险信号,但是您想要聚合成元组的元组。。。为什么不仅仅是一个dict
?我在压缩了两个单独的列后得到了points列谢谢你,元组的第一种方法奏效了。还有,有没有一种方法可以得到数组列表而不是每行的元组列表,比如-[[2,3],[2,4],[4,6]]非常感谢,元组的第一种方法很有效。还有,有没有一种方法可以得到数组列表,而不是像-[[2,3]、[2,4]、[4,6]这样的每行元组列表