ホームページ >バックエンド開発 >Python チュートリアル >Pandas DataFrame の NaN 値を前後の値で埋める方法は?
NaN を含む DataFrame を検討してください:
In [1]: import pandas as pd df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]]) In [2]: df 0 1 2 0 1 2 3 1 4 NaN NaN 2 NaN NaN 9
目標は、各 NaN を最も近い非 NaN に置き換えることです。その上の同じ列の値。最初の行には NaN が含まれていないと仮定します。
これを実現する効率的な方法は、DataFrame の fillna メソッドを使用することです。
In [3]: df.fillna(method='ffill') 0 1 2 0 1 2 3 1 4 2 3 2 4 2 9
fillna メソッドは次を使用します。 forward fill (ffill) 戦略。NaN をその中の最後の有効な観測値に置き換えます。
逆のことを行うには、bfill メソッド (後方フィル) を使用できます。
In [4]: df.fillna(method='bfill') 0 1 2 0 1 2 3 1 4 4 3 2 9 9 9
fillna メソッドは、DataFrame をインプレースで変更しません。元の DataFrame を更新するには、inplace=True:
In [5]: df.fillna(method='ffill', inplace=True) In [6]: df 0 1 2 0 1 2 3 1 4 2 3 2 4 2 9を設定します。
以上がPandas DataFrame の NaN 値を前後の値で埋める方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。