我正坐在一个奇怪的问题。我有两个东西,m和m
m
[[1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1
0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0]
[1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0
0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 0]]
Mhat
['1' '1' '0' '1' '1' '1' '1' '1' '1' '1' '1' '0' '0' '1' '0' '0' '1' '0'
'1' '0' '1' '0' '1' '0' '1' '0' '1' '1' '0' '1' '0' '1' '0' '0' '0' '0'
'1' '0' '1' '1' '0' '1' '0' '1' '0' '1' '0' '1' '0' '0' '1' '0' '0' '0'
'1' '0' '0' '1' '0' '1' '1' '1' '1' '0' '0' '1' '0' '1' '1' '1' '1' '0'
'0' '0' '0' '1' '0' '1' '0' '0' '1' '1' '1' '1' '1' '1' '0' '1' '1' '1'
'0' '0' '0' '0' '0' '1' '0' '1' '0' '1' '0' '0' '0' '0']
m是n行整数numpy数组,而mhat是一维numpy数组,全是字符串。正如你可能看到的,在mhat中,元素和在m中是一样的,但是索引是交替的。因此,mhat[0]是第一行的第一个元素,mhat[1]是第二行的第一个元素,mhat[2]是第一行中的第二个元素,以此类推。
我想转换它们,以便我可以比较它们。我现在有30行奇怪的对话,表现很糟糕,但仍然不正确,所以我把它扔掉了。在座有人有什么好主意吗?
应该可以:
l1 = [[1,2,3],[4,5,6]]
l2 = [1,4,2,5,3,6]
cols = 2
newl = [[] for x in range(cols)]
for i in range(int(len(l2)/cols)):
for j in range(cols):
newl[j].append(l2[i*cols + j])
我没有将字符串转换为浮点数,但是newl
将采用l1
的格式,然后您可以继续比较。