ホームページ  >  記事  >  バックエンド開発  >  辞書からマップされた値を含む新しい Pandas 列を追加するにはどうすればよいですか?

辞書からマップされた値を含む新しい Pandas 列を追加するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-03 09:51:02310ブラウズ

How to Add a New Pandas Column with Mapped Values from a Dictionary?

辞書からマップされた値を持つ新しい Pandas 列の追加

辞書から Pandas DataFrame の新しい列への値のマッピングは、面倒な作業になる場合があります。提供されたコードでは equiv() 関数を呼び出すことはできませんが、この目的を達成するための代替方法があります。

効果的なアプローチの 1 つは、map() 関数を辞書と組み合わせて使用​​することです。次のコード スニペットは、マップされた値を equiv から DataFrame df の新しい列 "B" に割り当てる方法を示しています。

<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)</code>

map() 関数に equiv ディクショナリを参照するラムダ式を渡すことで、コードは、対応するマップされた値を持つ新しい列 "B" を正常に追加しました。

<code class="python">df["B"] = df["A"].map(lambda x: equiv[x])</code>

結果は、マップされた値を含む目的の列 "B" を持つ DataFrame です:

      A  B
0  7001  1
1  8001  2
2  9001  3

このメソッドは、ディクショナリ内の欠落しているキーを適切に処理し、新しい列に NaN 値が生成されます。

<code class="python">import pandas as pd

equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame({"A": [7001, 8001, 9001, 10000]})
df["B"] = df["A"].map(equiv)

print(df)

       A   B
0   7001   1
1   8001   2
2   9001   3
3  10000 NaN</code>

要約すると、map() 関数を使用すると、マップされた値を持つ列を追加する簡単かつ効率的な方法が提供されます。 Pandas DataFrames の辞書から。

以上が辞書からマップされた値を含む新しい Pandas 列を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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