2016-05-19 3 views
0

パンダのデータフレームでnlargestを取るとき、NaN値を持つカラムを無視する方法はありますか? 5つの最大値を持つ5つの列見出しを選び、その中のいくつかの列にNaN値がある場合、その列は無視されます。有限値を持つ列の数が5より小さい場合は、有限の値(< 5)を持つすべての列の見出しを選択します。pandasデータフレームでnlargestを取るとき、NaN値を持つ列を無視する方法はありますか?

+0

例を投稿できますか?私はあなたの仕事を繰り返そうとしたが、すべてOKだった。 – knagaev

答えて

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) 
関連する問題