Как я могу удалить дубликаты в pandas без удаления значений NaN

#python #pandas #drop-duplicates

#python #pandas #удаление дубликатов

Вопрос:

У меня есть фрейм данных, к которому я запрашиваю, и я хочу получить только уникальные значения из определенного столбца.
Я пытался сделать это, выполняя этот код:

     database = pd.read_csv(db_file, sep='t')
    query = database.loc[database[db_specifications[0]].isin(elements)].drop_duplicates(subset=db_specification[1])
  

db_specification это просто список, содержащий два столбца, которые я запрашиваю.
Некоторые значения являются NaN , и я не хочу считать их дубликатами друг друга, как я могу этого добиться?

Ответ №1:

Вы можете начать с выбора всех NaN , а затем удалить дубликаты в остальной части фрейма данных.

 mask = data.isna().any()
data = pd.concat([data[mask], data[~mask]])
  

Комментарии:

1. Получено сообщение об ошибке AttributeError: 'DataFrame' object has no attribute 'isNaN'