【发布时间】:2018-02-01 17:03:25
【问题描述】:
我有一个如下的数据框:
id points
0 1 (-2.3, 7)
1 1 (-5, 7)
2 1 (-6.9, 5)
3 2 (2, 5.9)
4 2 (-0.3, -8)
我正在尝试使用 groupby id 并获得如下所示的 numpy 2darray:
df2 = df.groupby(["id"])["points"]\
.apply(lambda x : np.array(x.values)).reset_index()
这可行,但它更改为元组列表(如下所示),如何更改为 numpy 数组?或者我认为元组列表实际上是一个 numpy 二维数组?
id points
0 1 [ (-2.3, 7), (-5,7), (-6.9,5) ]
1 2 [ (2, 5.9), (-0.3, -8) ]
【问题讨论】:
-
这里的绝妙答案可能会对您有所帮助:stackoverflow.com/questions/28176949/…
-
实际上,这些是数组,当它们打印在
pd.DataFrame中时,它们看起来就像列表 -
我的回答假设你想要一个 2D numpy 数组而不是 numpy 元组数组。
标签: python arrays pandas numpy dataframe