python - 如何用字典键替换列值

标签 python pandas dataframe data-analysis

我有一个df,

 A     B
 one   six
 two   seven
 three level
 five  one

和一本字典

my_dict={1:"one,two",2:"three,four"}

我想用 my_dict keys() 替换 df.A。

我想要的输出是,

 A     B
 1     six
 1     seven
 2     level
 five  one

我尝试了df.A.replace(my_dict,regex=True)但它不起作用。

最佳答案

您需要字典理解才能首先将每个值与键分开:

my_dict={1:"one,two",2:"three,four"}
d = {k: oldk for oldk, oldv in my_dict.items() for k in oldv.split(',')}
print (d)
{'one': 1, 'three': 2, 'four': 2, 'two': 1}

df.A = df.A.replace(my_dict)

关于python - 如何用字典键替换列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49008179/

相关文章:

python - 使用列名称在所有列上应用函数 - Python、Pandas

python - Pandas 数据框中的对数返回

python - 将 NumPy 数组与 pandas DataFrame 连接(加入)

r - 将数据框中的因子转换为整数

python模块变量混淆

python - 如何反转 numpy.where (np.where) 函数

python - 将 Flask 表单数据转换为 JSON 只获取第一个值

python - 用字典扩展数据框

python - 将列标题添加到新的 pandas 数据框

python - 如何将两个不同长度的列表合并为 Pandas 数据框?