【发布时间】:2016-07-05 14:56:22
【问题描述】:
我需要比较一堆不同维度的numpy数组,比如:
a = np.array([1,2,3])
b = np.array([1,2,3],[4,5,6])
assert(a == b[0])
如果我不知道a和b的形状,除此之外怎么办
len(shape(a)) == len(shape(b)) - 1
我也不知道从 b 跳过哪个维度。我想使用 np.index_exp,但这似乎对我没有帮助......
def compare_arrays(a,b,skip_row):
u = np.index_exp[ ... ]
assert(a[:] == b[u])
编辑 或者换句话说,如果我知道数组的形状和我想错过的维度,我就不会构造切片。如果我知道维度和位置的数量、放置“:”的位置以及放置“0”的位置,如何动态创建 np.index_exp。
【问题讨论】:
-
是 np.take 你在找什么?
-
谢谢,np.take 似乎在给定的轴上工作。我可能可以使用它,但是我如何给“:”来定义范围?
-
skip row或行是什么意思?或者你的意思是跳过一个维度? -
@hpaulj 谢谢,我的意思是尺寸,已更正。
标签: numpy multidimensional-array assertion