将字典中的值映射到 Pandas DataFrame 中的新列可能是一项繁琐的任务。虽然equiv()函数在提供的代码中不可调用,但还有其他方法可以实现此目标。
一种有效的方法是将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字典的lambda表达式,代码成功添加具有相应映射值的新列“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中文网其他相关文章!