我有一个数据框,其中一列包含名称,其中一部分在括号中,如下所示:
Names
Apple (juicy)
Banana (crunchy)
Grape (sour)
我想将其更改为以下格式:
Names
Apple, juicy
Banana, crunchy
Grape, sour
如何使用pandas和regex实现这一目标?我试过这个:
df['Names'] = df1['Names'].str.replace(r"\s+\(.*\)",", " + r"\(.*\)")
但问题是在最后一位(r“(。*)”),我不知道如何成功转移括号内的任何内容。有了上面的代码,我得到了这个:
Names
Apple, \(.*\)
Banana, \(.*\)
Grape, \(.*\)
使用捕获组并通过反向引用引用替换部件中捕获的字符。
df['Names'] = df1['Names'].str.replace(r"\s+\((.*)\)", r", \1")
你必须使用regex
吗?
你可以这样做
df['Names'] = df.Names.apply(lambda x: x.replace('(','').replace(')',''))
这将删除任何字符串中的任何括号。