Все ваши попытки близки, но ваше состояние не совсем правильное.
Ваша главная проблема в том, что np.nan != np.nan
, поэтому вам нужно другое условие для тестирования. Например, вы можете использовать np.isnan()
, но это не удастся, если вы введете строки.
Какие значения находятся на второй позиции ваших кортежей? Если есть только strings
или np.nan
, вы можете использовать isinstance(x, str)
для своего фильтра:
cleanedZL = [x for x in ZL if isinstance(i[1], str)]
cleanedZL = list(filter(lambda x:isinstance(x[1],str), ZL))
См. Также этот вопрос , возможно, лучшее решение для сравнения np.nans