我的数据如下:
df.head()
CLUID STEP
9995 1998-10-27-03.18.54.256142 orders/sign()
9996 9012-03-22-00.56.55.724614 settings/user(?section=:section)
9997 9012-03-22-00.56.55.724614 settings/plugins
9998 1998-10-27-03.18.54.256142 saving/transactions
9999 9012-03-22-00.56.55.724614 settings/electronicstorage
我想从STEP列中删除特定的子字符串。
我试过了:
df['STEP'] = df['STEP'].replace({'(?section=:section)': ''}, regex=True)
引起:
错误:位置3处的未知标志
预期产量:
CLUID STEP
9995 1998-10-27-03.18.54.256142 orders/sign()
9996 9012-03-22-00.56.55.724614 settings/user
9997 9012-03-22-00.56.55.724614 settings/plugins
9998 1998-10-27-03.18.54.256142 saving/transactions
9999 9012-03-22-00.56.55.724614 settings/electronicstorage
帮助将不胜感激。
使用re.sub
可能会有所帮助。反斜杠对待字符“?” 作为特殊。
import pandas as pd
df = pd.DataFrame({'STEP': ["settings/user(?section=:section)", "orders/sign(/:orderIds)"]})
df['STEP'].apply(lambda x: re.sub('(\?section=:section)', '', str(x)))
实际上,这也适用于replace
:
df['STEP'] = df['STEP'].replace({'(\?section=:section)': ''}, regex=True)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句