我们说我有:
one = np.array([ [2,3,np.array([ [1,2], [7,3] ])],
[4,5,np.array([ [11,12],[14,15] ])]
], dtype=object)
two = np.array([ [1,2] ,[7, 3],
[11,12] , [14,15] ])
我希望能够将one
数组的数组中的值与two
数组的值进行比较。
我在谈论
[1,2] ,[7, 3],
[11,12] , [14,15]
所以,我想逐一检查它们是否相同。
可能喜欢:
for idx,x in np.ndenumerate(one):
for idy,y in np.ndenumerate(two):
print(y)
提供two
的所有元素。
我无法确定如何同时访问one
的所有元素(但只是每一行的最后一行)并将其与two
进行比较
问题在于它们没有相同的尺寸。
答案 0 :(得分:2)
这有效
np.r_[tuple(one[:, 2])] == two
输出:
array([[ True, True],
[ True, True],
[ True, True],
[ True, True]], dtype=bool)
答案 1 :(得分:1)
在评论链接中 N = FileSize / ChunkSize //integer division
RestSize = FileSize % ChunkSize //integer modulo
for i = 0 to N - 1
Copy ChunkSize bytes from position i * ChunkSize into ChunkFile[i]
if RestSize > 0
Copy RestSize bytes from position N * ChunkSize into ChunkFile[N]
尝试使用:
@George
这是一个4元素数组。如果我们重塑它,我们可以隔离内层
In [246]: a
Out[246]: array([1, [2, [33, 44, 55, 66]], 11, [22, [77, 88, 99, 100]]], dtype=object)
In [247]: a.shape
Out[247]: (4,)
最后一种情况是(2,) - 2个列表。我们可以用理解来隔离每个列表中的第二个项目,并从结果列表中创建一个数组:
In [257]: a.reshape(2,2)
Out[257]:
array([[1, [2, [33, 44, 55, 66]]],
[11, [22, [77, 88, 99, 100]]]], dtype=object)
In [258]: a.reshape(2,2)[:,1]
Out[258]: array([[2, [33, 44, 55, 66]], [22, [77, 88, 99, 100]]], dtype=object)
这里没什么好看的 - 只关注数组形状,并使用数组不起作用的列表操作。