ホームページ > バックエンド開発 > Python チュートリアル > Pandas DataFrame の NaN 値を前後の値で埋める方法は?

Pandas DataFrame の NaN 値を前後の値で埋める方法は?

Mary-Kate Olsen
リリース: 2024-12-03 11:01:09
オリジナル
369 人が閲覧しました

How to Fill NaN Values in a Pandas DataFrame with Preceding or Following Values?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート