pandaps:使用regex替换整个单元格的文本

2024-06-01 07:21:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,其中有一个名为“限定”的列。 它的价值如下:

b.tech                           
graduate                         
btech                             
hsc                               
degree                            
12th pass                         
pharm.d 2nd year                  
b pharm                           
pursuing b pharm                  
ssc                               
b.pharm                           
mba                               
bsc                               
no                                
student                           
pharm.d 3rd year                  
b.com                             
bcom                              
ug                                
diploma                           
b tech                            

我想通过用其他文本替换某些值来使数据一致。 例如, b techb.tech或{}变成{}。或MastersM.Com等,与Post Graduate一起使用。 如何使用regex来实现这一点?在


Tags: 数据nopassyeartech价值sscdegree
1条回答
网友
1楼 · 发布于 2024-06-01 07:21:22

你可以这样做:

to_replace = [r'SearchRegEx1', r'SearchRegEx2', ...]
value = [r'ReplaceRegEx1', r'ReplaceRegEx2', ...]

然后呢

^{pr2}$

演示:

In [124]: to_replace = [r'btech|b[\.\s]+\w+|bachelors\b.*', r'Masters|M.Com']
     ...: value = ['Graduate', 'Post Graduate']
     ...:

In [125]: df['col'] = df['col'].replace(to_replace, value, regex=True)

In [126]: df
Out[126]:
         col
0   Graduate
1   graduate
2   Graduate
3        hsc
4     degree
5       12th
6    pharm.d
7          b
8   pursuing
9        ssc
10  Graduate
11       mba
12       bsc
13        no
14   student
15   pharm.d
16  Graduate
17      bcom
18        ug
19   diploma
20         b

相关问题 更多 >