San*_*anj -2 python arrays numpy nested-lists
这是我拥有的清单列表
[[3, 2, 1, 2, 2, 3, 1], [3, 4, 2, 3, 1, 3, 2], [1, 2, 4, 1, 2, 4, 1], [3, 4, 3, 1, 4, 1, 2], [3, 1, 4, 1, 2, 3, 4], [3, 1, 3, 3, 2, 4, 1], [3, 2, 1, 2, 2, 3, 1], [3, 2, 1, 2, 2, 3, 1], [3, 2, 1, 2, 2, 3, 1], [3, 2, 1, 2, 2, 3, 1], [1, 2, 1, 2, 2, 3, 1], [4, 3, 1, 4, 1, 2, 3], [3, 2, 2, 1, 2, 1, 2], [3, 2, 1, 2, 2, 3, 1], [2, 2, 2, 1, 2, 4, 1], [1, 4, 3, 2, 2, 1, 4],....,[1, 2, 1, 1, 3, 1, 2], [3, 3, 4, 2, 3, 2, 1], [3, 2, 1, 2, 2, 2, 1], [4, 2, 1, 1, 4, 3, 4], [4, 4, 1, 2, 2, 4, 3], [3, 4, 3, 2, 2, 1, 4], [4, 1, 1, 3, 3, 4, 3]]
Run Code Online (Sandbox Code Playgroud)
我试过 numpy.array 但它给出了这样的一维数组
[[3, 2, 1, 2, 2, 3, 1] [3, 1, 2, 4, 1, 4, 4] [1, 2, 4, 1, 2, 4, 1] ...,
[4, 4, 1, 2, 2, 4, 3] [3, 4, 3, 2, 2, 1, 4] [4, 1, 1, 3, 3, 4, 3]]
Run Code Online (Sandbox Code Playgroud)
其大小为 (15410,) 这意味着它不会被创建为 2D。
我什至尝试使用 np.vstack 和 np.concatenate。但它说所有列表必须具有相同的维度。它们的长度都相同。我不明白为什么我会收到这个错误。我正在使用python3。还有没有更好的方法将列表列表转换为二维 numpy 数组?
编辑:将列表列表转换为 numpy 数组的代码:
print(testFeature)
x_test=np.array(testFeature)
print(x_test)
print (x_test.shape)
Run Code Online (Sandbox Code Playgroud)
如果你的 list 被称为 l,下面的代码应该可以帮助你找到有问题的元素。
for i,v in enumerate(l):
if(len(v)!=len(l[0])):
print('bad element {} at {}'.format(v,i))
Run Code Online (Sandbox Code Playgroud)
修复这些元素应该有助于解决问题。
| 归档时间: |
|
| 查看次数: |
1450 次 |
| 最近记录: |