那么都知道pandas中replace是替换中最常见的函数,但是它是必须完全替换某个value,但是如果我想要替换此value中部分的元素,此时需要用到正则表达式,即在替换后加入regex=True, 如果想要改变源数据,千万不要忘记了加入inplace = True
这是没有进行regex = True的时候
这是在regex = True之后
--------------分割线
我们在想对Series中的值进行替换或者删除部分的时候,如果考虑遍历,则遍历后用df[‘A’].replace(‘需要变换的’,‘变换成的’, regex= True, inplace=True)就可以了。而不要去用赋值,类似于df.iloc[i][‘A’] = x这种方法无法替换。就用正则表达式加replace就可以。也不需要使用apply写个函数。例如下面形式。
for i in range(len(data[u'车组'])):
data[u'车组'] = data[u'车组'].astype(str)
if 'A' in data.iloc[i][u'车组']:
data[u'车组'].replace('A-', '', regex=True, inplace=True)