从字典添加具有映射值的新pandas列[重复] - python

This question already has answers here:

Remap values in pandas column with a dict
                                
                                    (9个答案)
                                
                        
                                去年关闭。
            
                    
我正在尝试做一些在熊猫中应该非常简单的事情,但是似乎没什么。我正在尝试向现有的熊猫数据框添加一列,该数据框是基于另一个(现有)列的映射值。这是一个小测试用例:

import pandas as pd
equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame( {"A": [7001, 8001, 9001]} )
df["B"] = equiv(df["A"])
print(df)

我希望能得到以下结果:

      A   B
0  7001   1
1  8001   2
2  9001   3

相反,我收到一条错误消息,告诉我equiv不是可调用函数。公平地说,它是一个字典,但是即使将其包装在一个函数中,我仍然会感到沮丧。因此,我尝试使用似乎可以与其他操作配合使用的map函数,但也由于使用字典而失败:

df["B"] = df["A"].map(lambda x:equiv[x])

在这种情况下,我只会得到KeyError:8001。我已经阅读了文档和以前的文章,但是还没有发现任何建议如何将字典与pandas数据框混合使用的信息。任何建议将不胜感激。

python参考方案

正确的方法是df["B"] = df["A"].map(equiv)

In [55]:

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

[3 rows x 2 columns]

考虑以下示例,它将处理密钥不存在的情况:

In [56]:

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

[4 rows x 2 columns]

Python:检查新文件是否在文件夹中[重复] - python

This question already has answers here: How do I watch a file for changes? (23个答案) 3年前关闭。 我是python的新手,但是我尝试创建一个自动化过程,其中我的代码将侦听目录中的新文件条目。例如,某人可以手动将zip文件复制到一个特定的文件夹中,并且我希望我的代码能够在文件完全…

从文件中读取用户名和密码[重复] - python

This question already has answers here: How to read a file line-by-line into a list? (28个答案) 2年前关闭。 如何在Python中逐行读取文本(例如用户名和密码)?例如,我可以在shell / bash中实现此目的:#!/bin/bash AUTH='/aut…

python切片的奇怪行为[重复] - python

This question already has answers here: Reversing a list slice in python (2个答案) 7个月前关闭。 假设我们有以下列表:>>> a = [x for x in range(10)] >>> print(a) [0, 1, 2, 3, 4, 5, 6…

为随机选择的变量分配一个值[重复] - python

This question already has answers here: How do I randomly select a variable from a list, and then modify it in python?                                                              …

我们如何在安装了每个系统的系统启动时(最好是Linux)使Python脚本自动可执行? [重复] - python

This question already has an answer here: Create python script that runs at startup [closed]                                                                    (1个答案)              …