import numpy as np
data=[[1,2],[2,3],[3,4]]
我不想把它变成np.ndarray,
我不想得到这个:
np.array(data).shape
#(3,2)
result=np.array(np.array([1,2]),np.array([2,3]),np.array([3,4]))
result.dtype
result.shape
#np.ndarry
#(3,)
result[i].shape
result[i].dtype
#(2,)
#np.ndarry
我应该怎么做
AS @hpaulj在评论中建议您可以先创建empty
类型的empty
数组,然后向其分配列表,例如
object
您可以尝试将列表转换为ndarray,然后将其展平
data = [[1,2],[2,3],[3,4]]
result = np.empty(shape=len(data), dtype=object)
result[:] = [np.array(i) for i in data]
result
array([array([1, 2]), array([2, 3]), array([3, 4])], dtype=object)
result.shape
(3,)
您还可以指定展平的顺序参数以按行优先('C')或列优先('F')的顺序展平