首页 > 解决方案 > python:替换熊猫中多列中的值

问题描述

import pandas as pd

df = pd.DataFrame([[1,2, 3, 'www', 'abc'],[4,5,6, 'ppp', 'def'], [6,7,8, 'qqq', 'ggg'], [11,22,33, 'fff', 'mmm']], columns=['A', 'B', 'C', 'D', 'E'])

d = {'www': 'www_replaced', 'def': 'def_replaced', 'fff': 'fff_replaced' }
df.replace(d, value=None, inplace=True)

因此,dataframe相应地更新:

>>> df
    A   B   C             D             E
0   1   2   3  www_replaced           abc
1   4   5   6           ppp  def_replaced
2   6   7   8           qqq           ggg
3  11  22  33  fff_replaced           mmm
>>>

但是,我想在 D 和 E 列上使用map()函数,pandas原因有两个:

我可以运行两次,例如:

df['D'] = df['D'].map(d).fillna('Unknown')
df['E'] = df['E'].map(d).fillna('Unknown')

但是有没有办法map在一个命令中更改多列中的值?

标签: pythonpandas

解决方案


推荐阅读