#python-3.x #pandas #dataframe
Вопрос:
У меня есть фрейм данных панд с названием вида в одном столбце и дополнительной информацией (тип РНК) в другом. Для данного названия вида, если в других строках фрейма данных нет информации о типе РНК, я хочу сохранить эту строку (например, 5-я строка ниже для Species2), но если в других строках есть информация о типе РНК, удалите строки, в которых есть NaN (например, 4-я строка ниже для Species1).
Образец | Имя специализации | RNA_type |
---|---|---|
A1 | Разновидности1 | РНК 1 |
A1 | Разновидности1 | РНК-2 |
A1 | Разновидности1 | РНК-3 |
A1 | Разновидности1 | Нан (удалить) |
A1 | Разновидности2 | Нан (сохранить) |
Возможно ли это сделать?
Ответ №1:
Попробуйте сделать это:
df = df[~((df["Species_name"].duplicated(keep=False))amp;(df["RNA_type"].isnull()))]
Комментарии:
1. Это гораздо более элегантное решение.