In [6]: df.a.as_matrix()
Out[6]: array([list([1, 2]), list([3, 4])], dtype=object)
In [7]: df = pd.DataFrame({'a':[[1,2], [3, 4]]})
In [8]: l = df.a.as_matrix()
In [9]: type(l)
Out[9]: numpy.ndarray
In [10]: l
Out[10]: array([list([1, 2]), list([3, 4])], dtype=object)
我已经知道这个功能了。但令我困扰的是,在将此列转换为np数组后,我无法正常使用重塑或其他形状函数。似乎数组类型不是int或float,但是如何分配它的类型以便我可以重塑这个numpy数组?
答案 0 :(得分:0)
首先转换为嵌套列表,然后转换为array
:
print (df.a.tolist())
[[1, 2], [3, 4]]
arr = np.array(df.a.tolist())
print (arr)
[[1 2]
[3 4]]
如果想要压扁1d数组:
a2 = np.concatenate(df.a)
print (a2)
[1 2 3 4]