ホームページ >バックエンド開発 >Python チュートリアル >`ffill` と `bfill` を使用して Pandas DataFrame の NaN 値を効率的に置き換える方法は?

`ffill` と `bfill` を使用して Pandas DataFrame の NaN 値を効率的に置き換える方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-01 19:05:10905ブラウズ

How to Efficiently Replace NaN Values in Pandas DataFrames using `ffill` and `bfill`?

Pandas DataFrame で NaN を前または次の値に置き換える

Pandas DataFrame を処理する場合、欠落したデータが NaN (非数値) として表現されるデータ分析に課題が生じる可能性があります。一般的なタスクの 1 つは、これらの NaN を既存のデータから導出された適切な値に置き換えることです。簡単なアプローチは、DataFrame を反復処理して値を明示的に変更することです。ただし、Pandas は、ループの使用を回避する、より効率的なソリューションを提供します。

前方充填 (ffill)

NaN をその上の最初の非 NaN 値に置き換えるには同じ列では、ffill (前方埋め込み) オプションを指定して fillna メソッドを使用します。このメソッドは、最後の有効な観測値を後続の有効な観測値に伝播します。

import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
df.fillna(method='ffill')

出力:

   0  1  2
0  1  2  3
1  4  2  3
2  4  2  9

追加の考慮事項

  • DataFrame の最初の行は、データフレームの参照点として機能するため、NaN を含むべきではありません。
  • ffill メソッドは列単位で動作します。つまり、各列の NaN を個別に埋めます。
  • 逆方向埋め込み (NaN をその下にある次の非 NaN 値で置き換える) を実行するには、次を使用します。 bfill (後方フィル) オプション。
  • 新しい変数を作成せずに DataFrame をインプレースで変更するには、inplace パラメーターを次のように設定します。 True:
df.fillna(method='ffill', inplace=True)

以上が`ffill` と `bfill` を使用して Pandas DataFrame の NaN 値を効率的に置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。