Предположим, у меня есть три списка, в которых один содержит NaN (я думаю, что они «NaNs», они печатаются как «-» из предыдущей операции с маской в виде массива):Удалить элементы из списков, когда индексом является один список NaN
a = [1,2,3,4,5]
b = [6,7,--,9,--]
c = [6,7,8,9,10]
Я хотел бы выполнить операцию, которая выполняет итерацию через b, и удаляет индексы из всех списков, где b[i]=NaN
. Я имею в виду что-то вроде этого:
for i in range(0,len(b):
if b[i] = NaN:
del.a[i] etc
б генерируется из маскирующего с при некоторых условиях ранее в моем коде, что-то вроде этого:
b = np.ma.MaskedArray(c, condition)
Спасибо!
У вас есть некоторые синтаксические ошибки там : например, 'if b [i] = Nan'. Он должен иметь double ==. Кроме этого, если вы хотите удалить значения NaN, вы можете сделать то, что написано здесь: http://stackoverflow.com/a/11620982/966922 – javidgon
Возможный дубликат [Удаление значений nan из массива] (http: // stackoverflow .com/вопросы/11620914/удаление-нан-значения из-в-массива) – iFlo