Набор Python не удаляет повторяющиеся NaNPython

Программы на Python
Anonymous
Набор Python не удаляет повторяющиеся NaN

Сообщение Anonymous »

Применение set() к списку, содержащему несколько значений NaN, обычно удаляет повторяющиеся записи NaN.
Пример:

Код: Выделить всё

set([np.nan, 5, np.nan, 17, 5, np.nan, 23])
доходность:

Код: Выделить всё

{5, 17, nan, 23}
Однако теперь у меня есть список, полученный в результате суммирования (объединения) различных списков, содержащихся в столбце кадра данных; некоторые из этих списков содержат NaN. Когда я применяю set() к объединенному списку, полученному из , он не удаляет повторяющиеся значения NaN. См. снимок экрана ниже:
Изображение
Объект a1 на скриншоте определенно имеет тип списка. Я не уверен, но, возможно, это зависит от того, находились ли NaN в какой-то момент в массиве numpy (или, предположительно, в кадре данных pandas): Любые способы избежать этого, кроме np.unique() или pd.unique()? Есть ли причина, по которой set() будет вести себя так (я предполагаю, что ожидаемым по умолчанию будет удаление повторяющихся значений NaN, даже если NaN != NaN!)?

Подробнее здесь: https://stackoverflow.com/questions/790 ... icate-nans

Вернуться в «Python»