ホームページ  >  記事  >  バックエンド開発  >  ディクショナリ値をマップして Pandas DataFrame に新しい列を作成する方法

ディクショナリ値をマップして Pandas DataFrame に新しい列を作成する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-28 20:21:30125ブラウズ

How to Map Dictionary Values to Create a New Column in a Pandas DataFrame?

Pandas マッピングの不満への対処: マップされたディクショナリ値を含む列の追加

最初のジレンマ:

既存の列データに基づいてマップされた値を使用して、新しい列を Pandas DataFrame に組み込もうとしています。ラムダ関数と辞書の両方を使用すると、エラーまたは予期しない結果が発生します。

解決策:

正しいアプローチは、map() 関数を対象の辞書。構文は次のとおりです: df["B"] = df["A"].map(equiv).

説明:

map() 関数は指定された列の各要素に対する操作。この場合、操作は、列データによって提供されるキーに基づいて、ディクショナリ相当からマップされた値を取得します。

例:

次のコードを考えてみましょう。

<code class="python">import pandas as pd
equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame( {"A": [7001, 8001, 9001]} )
df["B"] = df["A"].map(equiv)
print(df)</code>

出力:

      A  B
0  7001  1
1  8001  2
2  9001  3

このアプローチは、マップされた値を新しい列 B に効果的に追加します。さらに、NaN を返すことで欠落したキーを適切に処理します。

追加の考慮事項:

  • キーの処理: ディクショナリ内のキーが列内のどの要素にも対応しない場合、マッピングされた値は NaN になります。
  • パフォーマンス: マッピング操作は、大規模なデータセットの場合、計算負荷が高くなる可能性があります。必要に応じて、最適化手法を検討してください。

以上がディクショナリ値をマップして Pandas DataFrame に新しい列を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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