我有以下建议:
Invoice number
.5
.3
02
我想替换“.”,因为捕捉不正确。此操作成功,代码如下:
df['Invoice number'] = df['Invoice number'].astype(str).str.replace(r"[^a-zA-Z0-9\$?!]", '')
但是,数字前面放置了一个0,从而产生以下df:
Invoice number
05
03
02
我试过以下方法
for i, row in df.iterrows():
if str(i).startswith('.'):
df.loc[i, 'KvK'] = df['KvK'].astype(str).str.replace(r"[^a-zA-Z0-9\$]", '')
df.loc[i,'Factuurnummer'] = df['Factuurnummer'].astype(str).str.replace(r"[^a-zA-Z0-9\$]", '')
然而,这是行不通的。什么也没发生
我想要以下输出:
invoice #
5
3
02
您可以使用由
series.str.startswith
和series.mask
或np.where
创建的掩码执行此操作:或者,如果您喜欢使用
regex
模式,也可以使用:相关问题 更多 >
编程相关推荐