在python我需要删除第一个字母

Rah*_*rma -2 python string pandas

我有一个大型数据框如下:

df1(样本数据)

a      name       keywords
1      ramesh     rrahul,rapple
2      venkat     rtemple
3      rajesh     rcake,rphone,rmaths
4      lamda      rcon
5      feast      rcamera,rtab
Run Code Online (Sandbox Code Playgroud)

我想删除在由逗号分隔的单词组成的字符串中每个单词的开头r出现的字母.输出应如下:

a      name       keywords
1      ramesh     rahul,apple
2      venkat     temple
3      rajesh     cake,phone,maths
4      lamda      con
5      feast      camera,tab
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 6

使用嵌套列表理解joinsplit:

通知:

假设没有null/NaNs值.

df['keywords'] = [','.join(y[1:] for y in x.split(',')) for x in df['keywords']]
print (df)
   a    name          keywords
0  1  ramesh       rahul,apple
1  2  venkat            temple
2  3  rajesh  cake,phone,maths
3  4   lamda               con
4  5   feast        camera,tab
Run Code Online (Sandbox Code Playgroud)

如果可能的话,有时候不存在第一个字母r可能会有一点改变解决方案if-else:

print (df)
   a    name             keywords
0  1  ramesh            aa,rapple
1  2  venkat              rtemple
2  3  rajesh  rcake,rphone,rmaths
3  4   lamda                 rcon
4  5   feast         rcamera,rtab

df['keywords'] = [','.join(y[1:] if y[0] == 'r' 
                                 else y 
                                 for y in x.split(',')) for x in df['keywords']]
print (df)
   a    name          keywords
0  1  ramesh          aa,apple
1  2  venkat            temple
2  3  rajesh  cake,phone,maths
3  4   lamda               con
4  5   feast        camera,tab
Run Code Online (Sandbox Code Playgroud)