【发布时间】:2019-11-17 21:44:39
【问题描述】:
我想删除 pandas df 中字符串的特定部分。更准确地说,我希望脚本删除“(”和“)”中的所有内容。 示例:
'3453(s656)s(657)' -script-> '3453s'
是否有一个易于实现的 python 函数或需要我自己编写脚本? 感谢您的帮助!
【问题讨论】:
-
你应该试试正则表达式。
标签: python string pandas substring
我想删除 pandas df 中字符串的特定部分。更准确地说,我希望脚本删除“(”和“)”中的所有内容。 示例:
'3453(s656)s(657)' -script-> '3453s'
是否有一个易于实现的 python 函数或需要我自己编写脚本? 感谢您的帮助!
【问题讨论】:
标签: python string pandas substring
您可以使用str.replace。这是一个示例数据框:
df = pd.DataFrame({'col1':['3453(s656)s(657)', 'another(---)string']})
df['col1'] = df.col1.str.replace(r'(\(.*?\))', '')
col1
0 3453s
1 anotherstring
【讨论】:
您可以实现一个简单的 python 函数来执行以下操作:
def speclace(a)
x=""
s=0
for i in a:
if i=='(':
s=1
elif i==')':
s=0
elif s==0:
x+=i
return x
【讨论】: