У меня есть следующий df:
A B C
entry1 10 3
entry1 7 5
entry1 2 NaN
entry2 1 1
entry2 2 4
entry2 3 3
...
В столбце A есть повторяющиеся записи, и мне интересно выбрать самые высокие значения из столбцов B и C для каждой записи. Если значение NaN
существует, оно перезаписывает самые высокие значения.
Пример:
Для записи 1 я хотел бы сохранить в df только значение Для записи2 я хотел бы сохранить в df только значение Я думал отсортировать значения, а затем выбрать последнее значение следующим образом: Таким образом, оставшаяся запись будет иметь только самое высокое значение для столбца B, а не для столбца C. Как мне добиться этого? Спасибо.10
в столбце B и NaN
в столбце C<454316464.63184618.63184617>634376184.
3
в столбце B и 4
в столбце C<454376184.6>
df = df.sort_values(by=['A', 'B', 'C'], ascending=[False, True, True])
print(df.drop_duplicates(subset='A', keep='last'))
используйте
groupby()