ホームページ > バックエンド開発 > Python チュートリアル > ループを使用せずに Pandas DataFrame の NaN 値を効率的に置換するにはどうすればよいですか?

ループを使用せずに Pandas DataFrame の NaN 値を効率的に置換するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-01 17:54:09
オリジナル
191 人が閲覧しました

How Can I Efficiently Replace NaN Values in Pandas DataFrames Without Loops?

Pandas DataFrame でのループフリー NaN 置換

Pandas DataFrame での NaN 値の置換は一般的なタスクとなる場合があります。 1 つのアプローチは、NaN をその上の最初の非 NaN 値に繰り返し置き換えることです。ただし、このメソッドは非効率的で、エラーが発生しやすい可能性があります。

幸いなことに、Pandas には、fillna メソッドを使用してこれを実現する、より効率的でループのない方法が用意されています。メソッドを「ffill」(フォワード フィル) として指定すると、Pandas は最後の有効な観測値を次の有効な観測値に伝播します:

import pandas as pd

df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])

df.fillna(method='ffill')
ログイン後にコピー

これにより、次の DataFrame:

   0  1  2
0  1  2  3
1  4  2  3
2  4  2  9
ログイン後にコピー
fillna メソッドでは、「bfill」(後方充填)を使用した後方充填(下からの充填)も可能ですmethod:

df.fillna(method='bfill')
ログイン後にコピー
デフォルトでは、fillna メソッドは元の DataFrame をインプレースで変更しません。元の DataFrame を変更するには、inplace=True:

を指定します。

以上がループを使用せずに Pandas DataFrame の NaN 値を効率的に置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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