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]这样的每行元组列表