Мне нужно сравнить кучу Numpy массивов с разными размерами, скажем:Массив индексных массивов неизвестных размеров?
a = np.array([1,2,3])
b = np.array([1,2,3],[4,5,6])
assert(a == b[0])
Как я могу это сделать, если я не знаю, либо форму а и Ь, кроме того, что
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])
Редактировать Или, выражаясь иначе, я wan't построить нарезка, если я знаю, что форма массив и размер, который я хочу пропустить. Как мне динамически создать np.index_exp, если я знаю количество измерений и позиций, где поставить «:» и где поставить «0».
np.take что вы ищете? –
Спасибо, np.take, похоже, работает на данной оси. Я мог бы использовать его, но как мне дать «:» для определения диапазона? – kakk11
Что вы подразумеваете под 'skip row' или линией? Или вы имеете в виду пропустить измерение? – hpaulj