【发布时间】:2018-09-03 18:04:58
【问题描述】:
我的数据框中有一列长度为 10 的 numpy 数组。我的数据框是这样的:
0 [2.0, 1246.0, 82.0, 43.0, 569.0, 46.0, 424.0, ...
1 [395.0, 2052.0, 1388.0, 8326.0, 5257.0, 176.0,...
10 [4.0, 1.0, 13.0, 1409.0, 7742.0, 259.0, 1856.0...
100 [4.0, 87.0, 1595.0, 706.0, 2935.0, 6028.0, 442...
1000 [45.0, 582.0, 124.0, 6530.0, 6548.0, 748.0, 61...
Name: embedding1, dtype: object
当我使用这个将它转换成一个numpy数组时:
input = np.asarray(df.tolist())
它给出的数组是这样的:
array([array([ 2., 1246., 82., 43., 569., 46., 424., 446., 1054., 39.]),
array([4.0000e+00, 1.0000e+00, 1.3000e+01, 1.4090e+03, 7.7420e+03,
2.5900e+02, 1.8560e+03, 3.6181e+04, 4.2000e+01, 8.9000e+02]),
...,
array([4.000e+00, 1.000e+00, 1.300e+01, 2.900e+01, 4.930e+02, 2.760e+02,1.100e+01, 6.770e+02, 6.740e+02, 5.806e+03]),], dtype=object)
它给出的类型是对象。我希望对象为浮动,因为它给出了形状(1000,),但我希望形状为(1000,10)。我试过用这个:
input1 = np.asarray(df1.tolist(),dtype=np.float)
但它给出了以下错误:
ValueError: setting an array element with a sequence.
如何解决?
PS:dataframe的row numpy数组的所有元素都是float类型
【问题讨论】:
-
你有一个数组数组。内部数组是
dtype浮点数,但外部数组 - 包含所有浮点型数组对象的数组 - 必须是dtype对象 -
您指定的内容不足以让我们知道,但如果我猜的话,我会说您只需要
df.values -
@RafaelC 我已经编辑了这个问题来解释一下。
-
@RafaelC df.values 给出相同的输出
-
@RafaelC 成功了。能否请您在回答中详细解释一下。
标签: python python-3.x pandas numpy