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

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

Barbara Streisand
リリース: 2024-12-08 16:56:09
オリジナル
674 人が閲覧しました

How Can I Efficiently Replace NaNs in a Pandas DataFrame with Values from Above Without Loops?

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

特定の状況では、NaN を含む DataFrame 値の操作が必要になります。このプロセスを合理化するには、次のシナリオを検討してください。NaN を含む DataFrame は、その上の同じ列の非 NaN 値に置き換える必要があります。

効率的な解決策は、pandas の fillna メソッドにあります。メソッド パラメーターを 'ffill' (フォワード フィル) として指定すると、NaN は対応する列の最も近い有効な観測値に置き換えられます:

import pandas as pd

df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
df.fillna(method='ffill')
ログイン後にコピー

このメソッドは、「最後の有効な観測値を次の有効な観測値に前方に伝播する」ことによって動作します。有効。"これは、一時的または周期的なデータの整合性を維持する場合に特に役立ちます。

逆の効果を達成するには、「bfill」メソッド (バック フィル) を使用できます。 DataFrame のインプレース変更の場合は、inplace=True 引数を使用します。

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

最初の行は、多くの場合、NaN なしのベースラインとして機能します。このアプローチを採用すると、NaN 置換プロセスが効率的かつループフリーになります。

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

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