Pandas DataFrame: 条件に基づいて列の値を置換
この質問の目標は、以下に基づいて DataFrame の列の値を選択的に置換することです。条件。サッカー チームとその最初のシーズンを含む DataFrame があるとすると、1990 年を超える 'First Season' 列のすべての値を 1 に置き換えたいと考えます。
提供されたソリューション df.loc[(df['First Season '] > 1990)] = 1 は、ターゲット列だけでなく、選択された行のすべての値を誤って置き換えます。これに対処するには、変更する列を指定する必要があります。
この変更の正しい構文は次のとおりです。
df.loc[df['First Season'] > 1990, 'First Season'] = 1
その仕組みは次のとおりです。
このコード行を実行すると、指定された条件を満たす 'First Season' 値のみが次の値に置き換えられます。 1、DataFrame の残りの部分を保持します。
追加の考慮事項:
必要な結果がブール インジケーターの場合、値を 1 に置き換える代わりに、ブール値シリーズを生成し、それを整数データ型にキャストするためのブール条件:
df['First Season'] = (df['First Season'] > 1990).astype(int)
これにより、True 値が 1 に、False 値が 0 に変換され、'First Season' 列にブール値インジケーターが作成されます。
以上が条件に基づいて Pandas DataFrame の列値を選択的に置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。