Python 3.x 在python中,根据条件将字符串替换为一个单词

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

在pandas数据帧中,我有一个具有多个值的字符串列,我想根据不同行的匹配情况将其替换为一个

根据图片,我想指定“极端进步,进步摇滚,进步”为进步,“沉重,海湾地区鞭打”为鞭打,“进步死亡,死亡,进步鞭打”为死亡,等等。我应该如何继续执行相同的操作

使用数据帧:

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检查每个单词