У меня небольшая проблема с тем, чтобы numpy.any () нормально работала над моей проблемой.Представьте, что у меня есть трехмерная матрица матрицы NXMXM, где мне нужно избавиться от любой матрицы MXM, в которой все ее элементы одинаковы (все нули скажут).Вот пример, иллюстрирующий мою проблему
x = np.arange(250).reshape(10,5,5)
x[0,:,:] = 0
Что мне нужно сделать, это избавиться от первой матрицы 5X5, поскольку она содержит все нули.Поэтому я попытался с
np.any(x,axis=0)
и ожидал получить результаты
[FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE]
, но я получил
array([[ True, True, True, True, True],
[ True, True, True, True, True],
[ True, True, True, True, True],
[ True, True, True, True, True],
[ True, True, True, True, True]
[ True, True, True, True, True],
[ True, True, True, True, True],
[ True, True, True, True, True],
[ True, True, True, True, True],
[ True, True, True, True, True]], dtype=bool)
Применение следующих результатов с тем, что яхочу, но надеюсь, что есть лучший способ без каких-либо петель
for i in range(x.shape[0]):
y.append(np.any(x[i,:,:]))
Я где-то здесь ошибся?Спасибо!