ホームページ  >  記事  >  バックエンド開発  >  条件に基づいて Pandas DataFrame の列値を選択的に置換するにはどうすればよいですか?

条件に基づいて Pandas DataFrame の列値を選択的に置換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-31 02:20:02740ブラウズ

How to Selectively Replace Column Values in a Pandas DataFrame Based on Conditions?

Pandas DataFrame: 条件に基づいて列の値を置換

この質問の目標は、以下に基づいて DataFrame の列の値を選択的に置換することです。条件。サッカー チームとその最初のシーズンを含む DataFrame があるとすると、1990 年を超える 'First Season' 列のすべての値を 1 に置き換えたいと考えます。

提供されたソリューション df.loc[(df['First Season '] > 1990)] = 1 は、ターゲット列だけでなく、選択された行のすべての値を誤って置き換えます。これに対処するには、変更する列を指定する必要があります。

この変更の正しい構文は次のとおりです。

df.loc[df['First Season'] > 1990, 'First Season'] = 1

その仕組みは次のとおりです。

  • df.loc[(df['First Season'] > 1990)]: これにより、'First Season' の値が 1990 より大きい行が選択され、DataFrame にインデックスを付けるためのラベルが効果的に生成されます。
  • 'First Season': オプションで、置換が行われる列を指定します。

このコード行を実行すると、指定された条件を満たす 'First Season' 値のみが次の値に置き換えられます。 1、DataFrame の残りの部分を保持します。

追加の考慮事項:

必要な結果がブール インジケーターの場合、値を 1 に置き換える代わりに、ブール値シリーズを生成し、それを整数データ型にキャストするためのブール条件:

df['First Season'] = (df['First Season'] > 1990).astype(int)

これにより、True 値が 1 に、False 値が 0 に変換され、'First Season' 列にブール値インジケーターが作成されます。

以上が条件に基づいて Pandas DataFrame の列値を選択的に置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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