2016-05-19 3 views
0

Если вы берете самый большой в dataframe панд, есть ли способ игнорировать столбец со значениями NaN? Если я хочу выбрать 5 столбцов с 5 наименьшими значениями, и если в некоторых столбцах указаны значения NaN, то столбец игнорируется. Если число столбцов с конечными значениями меньше 5, выберите все заголовки столбцов с конечными значениями (< 5).Если вы берете самый большой в dataframe панд, есть ли способ игнорировать столбец со значениями NaN?

+0

Можете ли вы разместить пример? Я попытался повторить вашу задачу и все в порядке. – knagaev

ответ

0

nlargest принимает n верхних строк, отсортированных по убыванию columns, переданных методу. Если есть значения NaN, которые попадают в верх, тогда они будут включать их. Если вы хотите игнорировать строки, в которых значения NaN существуют в столбцах, которые были отсортированы, сделайте следующее:

# assume a variable 'columns' exist that defines what columns to sort 
# by. You'll have to assign this yourself. Also assign 'n' yourself. 
df = df.dropna(subset=columns) 
df = df.nlargest(n, columns=columns) 
Смежные вопросы