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

Barbara Streisand
リリース: 2024-11-03 09:51:02
オリジナル
309 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート