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