我使用熊猫清理数据如下:
s3 = pd.DataFrame({'title':["intermediate" ,"Basmati/sadri" ,"temperate japonica" ,"Temperate japonica" , "Japonica" ,"Tropical japonica" ,"Aromatic (basmati/sandri type" , "indica" , "Aus/boro" , "Aus" ,"aus" ,"japonica" , "tropical japnica", "" , "Indica" , "Intermediate type" ]})
s3.title.replace(r".*[Jj]ap(o)?nica$", "japonica" ,inplace=True,regex=True)
s3.title.replace(r"Indica", "indica" ,inplace=True,regex=True)
print s3
我得到了:
title
0 intermediate
1 Basmati/sadri
2 japonica
3 japonica
4 japonica
5 japonica
6 Aromatic (basmati/sandri type
7 indica
8 Aus/boro
9 Aus
10 aus
11 japonica
12 japonica
13
14 indica
15 Intermediate type
我想替换字符串如下:
if string not in ['japonica', "indica"] :
string = 'others'
但是如何作为regex执行:
s3.title.replace(r"some regex", "others" ,inplace=True,regex=True)
下面的方法应该有效。它使用三个case,由or(
|
)运算符分隔。你知道吗japonica
或indica
开头而需要一些其他字符而进行的反向前瞻。你知道吗japonica
或indica
开头,则后面还有其他字符,以确认字符串不是japonica
或indica
单独的。你知道吗空字符串。你知道吗
相关问题 更多 >
编程相关推荐