Pandas の複数の列の値に基づいて新しい列を作成する
複数の列の値に基づいて Pandas データフレームに新しい列を作成するには他の列では、apply() 関数を利用できます。この関数を使用すると、データフレームの各行にカスタム関数を適用できます。
この場合、次の基準に基づいて人種ラベルを含む新しい列を作成します:
人種ラベル基準:
レース ラベリングのカスタム関数:
レース ラベリングのカスタム関数を定義するには、次のようにします。次のコードを使用します:
def label_race(row): if row['ERI_Hispanic'] == 1: return 'Hispanic' if row['ERI_AmerInd_AKNatv'] + row['ERI_Asian'] + row['ERI_Black_Afr.Amer'] + row['ERI_HI_PacIsl'] + row['ERI_White'] > 1: return 'Two Or More' if row['ERI_AmerInd_AKNatv'] == 1: return 'A/I AK Native' if row['ERI_Asian'] == 1: return 'Asian' if row['ERI_Black_Afr.Amer'] == 1: return 'Black/AA' if row['ERI_HI_PacIsl'] == 1: return 'Haw/Pac Isl.' if row['ERI_White'] == 1: return 'White' return 'Other'
カスタム関数を適用するapply():
label_race 関数をデータフレームの各行に適用するには、関数を各行に適用することを指定する axis=1 引数を指定して apply() 関数を使用できます。 row:
df['race_label'] = df.apply(label_race, axis=1)
これにより、適切なレース ラベルを含む、race_label という名前の新しい列がデータフレームに作成されます。
以上が複数の既存の列に基づいて Pandas で新しい Race Label 列を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。