Python 以矩阵形式将列表排列到numpy数组
我有一张清单:Python 以矩阵形式将列表排列到numpy数组,python,arrays,numpy,Python,Arrays,Numpy,我有一张清单: rs = list([[(0, 167, 159, 0), (1, 168, 160, 1)], [(0, 167, 159, 1), (1, 168, 160, 0)]]) 我想把它以矩阵的形式排列成numpy数组,因此我编写了以下代码: import numpy rs = list([[(0, 167, 159, 0), (1, 168, 160, 1)], [(0, 167, 159, 1), (1, 168, 160, 0)]]) k = 2 j = 0 h = 0
rs = list([[(0, 167, 159, 0), (1, 168, 160, 1)], [(0, 167, 159, 1), (1, 168, 160, 0)]])
我想把它以矩阵的形式排列成numpy数组,因此我编写了以下代码:
import numpy
rs = list([[(0, 167, 159, 0), (1, 168, 160, 1)], [(0, 167, 159, 1), (1, 168, 160, 0)]])
k = 2
j = 0
h = 0
ars = []
element = list(rs)
ck_dist_m = numpy.array([[]], ndmin = 2)
while j <= k - 1:
while h <= k - 1:
rp = numpy.array(element[j][h][3], ndmin = 2)
ars.append(rp)
h = h + 1
else:
h = 0
ck_dist_m = numpy.vstack(ars)
j = j + 1
print ck_dist_m
但上面的脚本给出了这样的信息:
[[0]
[1]
[1]
[0]]
如何编辑脚本以矩阵形式获得结果
在while循环中,我提取子列表中的第三个元素,并尝试以矩阵形式存储它们 以下是实现这一目标的更直接的方法:
>>> numpy.array(rs)[:,:,3]
array([[0, 1],
[1, 0]])
在while循环中,我提取子列表中的第三个元素,并尝试以矩阵形式存储它们 以下是实现这一目标的更直接的方法:
>>> numpy.array(rs)[:,:,3]
array([[0, 1],
[1, 0]])
你能解释一下
列表([[(0,167,159,0),(1,168,160,1)],[(0,167,159,1),(1,168,160,0)])与[[0,1],[1,0]].
的关系吗?在while循环中,我提取子列表中的第三个元素,并尝试以矩阵形式存储它们。你能解释一下列表([[(0,167,159,0),(1,168,160,1)],[(0,167,159,1)],[(0),(1,168,160,0)])
与[[0,1],[1,0]]
相关?在while循环中,我提取子列表中的第三个元素,并尝试以矩阵形式存储它们。这是一种更直接的方式!这是一种更直接的方式!