我想替换某些列中值。
数据表示例如下,
数据表的名称为df
column1 column2
aaaa cup
bbbb coffee
cccc juice
dddd tea
我想下面这个结果
column1 column2
aaaa pink
bbbb brown
cccc orange
dddd white
所以我试了下面这个
df['column2'] = df['column2'].str.replace('cup', 'pink')
df['column2'] = df['column2'].str.replace('coffee', 'brown')
df['column2'] = df['column2'].str.replace('juice', 'orange')
df['column2'] = df['column2'].str.replace('tea', 'white')
我得到了这个代码的结果,但我认为它是如此混乱的代码
所以我试了这个,
change_word = {
'cup':'pink' ,'coffee':'brown',
'juice':'orange','tea':'white'
}
df['column2'].str.replace(change_word, inplace=True)
但是它不起作用。string.replace方法不是有一个可以一次转换所有内容函数吗?
我尝试了.replace方法,但是对于.replace方法,整个字符必须匹配。所以结果与我想要的结果有点不同。
有什么想法吗?
1条答案
按热度按时间pengsaosao1#
我们可以尝试使用带有回调函数的
str.replace
:如果您确定第二列中的每个值都将出现在字典中,则还可以使用以下简化版本: