У меня есть массив из 0-10 элементов.
a = np.arange(0,11)
np.random.shuffle(a)
a
array([ 1, 7, 8, 0, 2, 3, 4, 10, 9, 5, 6])
Я хотел преобразовать элементы в NaN, если они находятся между 4 и 8.
В качестве первого шага я попытался получить массив с np.where, как показано ниже:
np.where([a > 4] & [a < 8])
но получил ошибку. любая помощь, пожалуйста?
это было по ошибке, и я обновил вопросы. Благодарность





Тебе нужно:
import numpy as np
a = np.arange(0,11)
np.random.shuffle(a)
print(a)
# [ 7 4 2 3 6 10 1 9 5 0 8]
a = np.where((a > 4) & (a < 8), np.nan, a)
print(a)
# [nan 4. 2. 3. nan 10. 1. 9. nan 0. 8.]
Если вы хотите узнать, как работает np.where(), обратитесь к numpy.where () подробное, пошаговое объяснение / примеры
Почему> 10? Разве это не должно быть <8? Также используйте круглые скобки вокруг
a > 4, а не квадратные.