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)
使用嵌套列表理解join和split:
通知:
假设没有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)