如何将列表转换为numpy二维ndarray。例如:
lst = [20, 30, 40, 50, 60]
预期结果:
>> print(arr)
>> array([[20],
[30],
[40],
[50],
[60]])
>> print(arr.shape)
>> (5, 1)
答案 0 :(得分:4)
将其转换为数组并重塑形状:
x = np.array(x).reshape(-1,1)
reshape添加列结构。 reshape
中的-1可以正确处理需要整形的行数。
输出:
[[20]
[30]
[40]
[50]
[60]]
答案 1 :(得分:2)
如果您需要更有效的计算,请使用numpy数组而不是列表推导。这是使用array broadcasting
的另一种方法x = [20, 30, 40, 50, 60]
x = np.array(x) #convert your list to numpy array
result = x[:, None] #use numpy broadcasting
如果最后仍然需要列表类型,则可以使用result.tolist()
答案 2 :(得分:0)
您可以使用列表推导,然后将其转换为numpy数组:
import numpy as np
x = [20, 30, 40, 50, 60]
x_nested = [[item] for item in x]
x_numpy = np.array(x_nested)