Python 3.x 在python中,根据条件将字符串替换为一个单词
在pandas数据帧中,我有一个具有多个值的字符串列,我想根据不同行的匹配情况将其替换为一个 根据图片,我想指定“极端进步,进步摇滚,进步”为进步,“沉重,海湾地区鞭打”为鞭打,“进步死亡,死亡,进步鞭打”为死亡,等等。我应该如何继续执行相同的操作 使用数据帧:Python 3.x 在python中,根据条件将字符串替换为一个单词,python-3.x,string,pandas,replace,Python 3.x,String,Pandas,Replace,在pandas数据帧中,我有一个具有多个值的字符串列,我想根据不同行的匹配情况将其替换为一个 根据图片,我想指定“极端进步,进步摇滚,进步”为进步,“沉重,海湾地区鞭打”为鞭打,“进步死亡,死亡,进步鞭打”为死亡,等等。我应该如何继续执行相同的操作 使用数据帧: dfa: ID No Time Variable Val 0 123 0.1 A 1 1 123 0.1 B
dfa:
ID No Time Variable Val
0 123 0.1 A 1
1 123 0.1 B 2
2 123 0.1 C 3
3 127 0.8 A 4
4 127 0.8 B 5
5 127 0.8 C 6
您可以创建dict映射器:
dictMapper = {'A' : 'aye', 'B': 'bee'}
dfa['Variable'] = dfa['Variable'].map(lambda x: dictMapper.get(x,x))
dfa:
ID No Time Variable Val
0 123 0.1 aye 1
1 123 0.1 bee 2
2 123 0.1 C 3
3 127 0.8 aye 4
4 127 0.8 bee 5
5 127 0.8 C 6
当然,这取决于您在更新数据帧之前了解所有信息:在组合之后,因为您需要与dict键完全匹配。这是可行的,尽管在这种情况下需要所有必要的组合。如果根据字符串中的匹配项决定将字符串替换为单词,如何继续?我假定您仍然需要某种形式的映射dict。您可以使用逗号拆分字符串,并根据dict.keys检查每个单词