首页 >后端开发 >Python教程 >如何使用字典中的映射值添加新的 Pandas 列?

如何使用字典中的映射值添加新的 Pandas 列?

Barbara Streisand
Barbara Streisand原创
2024-11-03 09:51:02363浏览

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

使用字典中的映射值添加新的 Pandas 列

将字典中的值映射到 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn