如何格式化numpy数组
data1 = np.array([[0,0,0],[0,1,1],[1,0,1],[1,1,0]])
以这种格式列出:
data = [
[[0,0], [0]],
[[0,1], [1]],
[[1,0], [1]],
[[1,1], [0]]
]
我尝试使用两个for循环
for i in range(len(data)):
for j in range(3):
if j == 2:
va[i] = data1[i][j]
else:
sa[i] = data1[i][j]
但是这给了我一个索引超出界限的错误。我想知道如何解决这个问题
答案 0 :(得分:5)
使用列表理解和切片:
>>> data1 = np.array([[0,0,0],[0,1,1],[1,0,1],[1,1,0]])
>>> print [[x[:2].tolist(), x[2:].tolist()] for x in data1]
[[[0, 0], [0]],
[[0, 1], [1]],
[[1, 0], [1]],
[[1, 1], [0]]]