![](/img/trans.png)
[英]How do I convert a 2D numpy array into a 1D numpy array of 1D numpy arrays?
[英]Pandas to_numpy() results in an array of lists. How do I get a 2D numpy array from this?
我有一列列表,每个列表包含相同数量的值。
如果我做
df['column'].to_numpy()
我得到一个列表数组:
array([list([0, 4688, 11, 43486, 40508, 13, 5,...
list([0, 40928, 17707, 22705, 9, 38312, 2..
list([0, 6766, 368, 3551, 28837,..
dtype=object)
我如何获得二维数组?
你可以这样做:
np.array(df['column'].tolist())
或者您可以简单地堆叠它们:
np.stack(df['column'].to_numpy())
这会将您的列表堆叠在一起,并且 output 是一个二维数组。 您必须确保列表的长度相同。 Numpy arrays 是矩形的。
您可以使用列表list comprehension
>>> df
A
0 [0, 1, 2, 3, 4]
1 [0, 1, 2, 3, 4]
2 [0, 1, 2, 3, 4]
>>> np.array([x for x in df['A']])
array([[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4]])
data=np.array(df['column']).reshape(2,2)
对于二维数组,您可以在 numpy 上使用 reshape function 但是您应该在数据中具有适当的值来进行校正,例如,如果您有 4 个数据表示(行、列),则使用 (2,2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.