在pandas数据帧中获取nlargest时,有没有办法忽略具有NaN值的列?如果我想要选择具有5个最大值的5个列标题,并且如果某些列具有NaN值,则忽略该列。如果具有有限值的列数小于5,则选择具有有限值(<5)的所有列标题。
答案 0 :(得分:0)
nlargest
将传递给方法的columns
下降的n个顶行排序。如果有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)