複数の民族列に基づいてパンダで新しい人種ラベル列を作成する方法は?
Pandas の関数を使用して複数の列の値に基づいて新しい列を作成する
Pandas でデータフレームを操作する場合、以下に基づいて新しい列を作成する必要がある場合があります。複数の既存の列からの値。一般的なシナリオは、新しい列の値を決定するために列のセットに行単位でカスタム関数を適用する必要がある場合に発生します。
シナリオ例
6 つの民族関連の次のデータフレームを考えてみましょう。インジケーター列:
df = pd.DataFrame({ 'ERI_Hispanic': [0, 1, 0, 0, 0, 0, 0, 0, 0, 0], 'ERI_AmerInd_AKNatv': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'ERI_Asian': [0, 0, 0, 0, 0, 0, 1, 0, 0, 0], 'ERI_Black_Afr.Amer': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'ERI_HI_PacIsl': [0, 0, 0, 0, 0, 0, 0, 1, 0, 0], 'ERI_White': [1, 0, 1, 1, 0, 1, 1, 1, 1, 1] })
目標は、次の基準に基づいて各行を分類する「race_label」という名前の新しい列を作成することです。次の基準:
- ERI_Hispanic が 1 の場合、「ヒスパニック」を返します。
- すべての非ヒスパニック系 ERI 列 (ERI_AmerInd_AKNatv、ERI_Asian、ERI_Black_Afr.Amer、ERI_HI_PacIsl、およびERI_White) より大きい1、「Two or More」を返します。
- ERI 列のその他のゼロ以外の値については、対応する人種ラベル (例: 「A/I AK Native」、「Asian」、「Black/ AA"、"Haw/Pac Isl."、または "White")。
ソリューション
この解決策には、分類を実行するカスタム関数を作成し、その関数をデータフレームに行単位で適用するという 2 つのステップが含まれます。
1.カスタム関数の定義
def label_race(row): if row['ERI_Hispanic'] == 1: return 'Hispanic' elif row['ERI_AmerInd_AKNatv'] + row['ERI_Asian'] + row['ERI_Black_Afr.Amer'] + row['ERI_HI_PacIsl'] + row['ERI_White'] > 1: return 'Two or More' elif row['ERI_AmerInd_AKNatv'] == 1: return 'A/I AK Native' elif row['ERI_Asian'] == 1: return 'Asian' elif row['ERI_Black_Afr.Amer'] == 1: return 'Black/AA' elif row['ERI_HI_PacIsl'] == 1: return 'Haw/Pac Isl.' elif row['ERI_White'] == 1: return 'White' else: return 'Other'
この関数は、データフレームの行を入力として受け取り、指定された基準に基づいて適切なレース ラベルを返します。
2.データフレームへの関数の適用
新しい 'race_label' 列を作成するには、apply() 関数を axis=1 パラメーターとともに使用して、label_race 関数をデータフレームの各行に適用します。
df['race_label'] = df.apply(label_race, axis=1)
新しい列を含む結果のデータフレームが以下に表示されます:
ERI_Hispanic ERI_AmerInd_AKNatv ERI_Asian ERI_Black_Afr.Amer ERI_HI_PacIsl ERI_White \ 0 0 0 0 0 0 1 1 1 0 0 0 0 0 2 0 0 0 0 0 1 3 0 0 0 0 0 1 4 0 0 0 0 0 0 5 0 0 0 0 0 1 6 0 0 1 0 0 1 7 0 0 0 0 1 1 8 0 0 0 1 0 0 9 0 0 0 0 0 1 race_label 0 White 1 Hispanic 2 White 3 White 4 Other 5 White 6 Two or More 7 White 8 Haw/Pac Isl. 9 White
以上が複数の民族列に基づいてパンダで新しい人種ラベル列を作成する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。
