我已經10×10網格的一個維位置列表:一個維點列表
[(0, 0), (0, 1), (0, 2), ..., (9, 9)]
我想numpy的陣列是這樣的(10長度列表的列表):
array([[ (0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 9) ],
...,
[ (9, 0), (9, 1), (9, 2), (9, 3), (9, 4), (9, 5), (9, 6), (9, 7), (9, 8), (9, 9) ]])
如何轉換二維np數組中的一維點列表?
我寫了這個:
import numpy as np
l = []
for i in range(10):
for ii in range(10):
l.append((i, ii))
print(l)
a = np.array(l)
print(a)
a.shape = (a.size // 10, 10)
print(a)
但結果不是我們所期望的:
python3.4 tmp/t.py
[(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 9), ..., (9, 9)]
[[0 0]
[0 1]
[0 2]
[0 3]
[0 4]
[0 5]
[0 6]
[0 7]
[0 8]
[0 9]
...
[9 9]]
[[0 0 0 1 0 2 0 3 0 4]
[0 5 0 6 0 7 0 8 0 9]
[1 0 1 1 1 2 1 3 1 4]
[1 5 1 6 1 7 1 8 1 9]
[2 0 2 1 2 2 2 3 2 4]
...
[9 0 9 1 9 2 9 3 9 4]
[9 5 9 6 9 7 9 8 9 9]]
注意列表生成部分爲例。在我的代碼中,列表已經存在。 – bux
然後,你應該使用上面的答案之一:) 有趣的事情,numpy不保存你的元組單元格,並將其轉換爲np.array。 –
請檢查編輯。 –