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
函数:
map
比replace
快df[column] = df[column].map(d).fillna('Unknown')
我可以运行两次,例如:
df['D'] = df['D'].map(d).fillna('Unknown')
df['E'] = df['E'].map(d).fillna('Unknown')
但是有没有一种方法可以在一个命令中使用map
来更改多个列中的值呢
目前没有回答
相关问题 更多 >
编程相关推荐