Python 如何删除一列中括号内的数据?

Python 如何删除一列中括号内的数据?,python,regex,string,dataframe,Python,Regex,String,Dataframe,数据如下所示 LIQUID PARAFFIN(1.25 MG)+MAGNESIUM HYDROXIDE(300.0 MG)+SODIUM PICOSULFATE(3.33 MG) 我试着用replace来替换,但它从第一个括号替换到最后一个括号 df['composition_replaced']=df["composition"].str.replace(r"\(.*\).\","") 实际结果-液体石蜡 预期结果- LIQUID PARAFFIN+MAGNESIUM HYDROXIDE+

数据如下所示

LIQUID PARAFFIN(1.25 MG)+MAGNESIUM HYDROXIDE(300.0 MG)+SODIUM PICOSULFATE(3.33 MG)
我试着用replace来替换,但它从第一个括号替换到最后一个括号

df['composition_replaced']=df["composition"].str.replace(r"\(.*\).\","")
实际结果-
液体石蜡

预期结果-

LIQUID PARAFFIN+MAGNESIUM HYDROXIDE+SODIUM PICOSULFATE

您可以使用这个正则表达式:
\([^]*\)

这里有一个例子:

import pandas as pd

df = pd.DataFrame({"col1": ["LIQUID PARAFFIN(1.25 MG)+MAGNESIUM HYDROXIDE(300.0 MG)+SODIUM PICOSULFATE(3.33 MG)"]})   # Value to be plotted
print(df.values[0][0])
# LIQUID PARAFFIN(1.25 MG)+MAGNESIUM HYDROXIDE(300.0 MG)+SODIUM PICOSULFATE(3.33 MG)

df.col1 = df.col1.str.replace(r'\([^)]*\)', "")
print(df.values[0][0])
# LIQUID PARAFFIN+MAGNESIUM HYDROXIDE+SODIUM PICOSULFATE

您可以使用这个正则表达式:
\([^]*\)

这里有一个例子:

import pandas as pd

df = pd.DataFrame({"col1": ["LIQUID PARAFFIN(1.25 MG)+MAGNESIUM HYDROXIDE(300.0 MG)+SODIUM PICOSULFATE(3.33 MG)"]})   # Value to be plotted
print(df.values[0][0])
# LIQUID PARAFFIN(1.25 MG)+MAGNESIUM HYDROXIDE(300.0 MG)+SODIUM PICOSULFATE(3.33 MG)

df.col1 = df.col1.str.replace(r'\([^)]*\)', "")
print(df.values[0][0])
# LIQUID PARAFFIN+MAGNESIUM HYDROXIDE+SODIUM PICOSULFATE

很高兴帮助你!如果答案解决了问题,请随意接受答案,在本网站上向上投票/向下投票,通过向上投票所有有用的答案来表达您的感激之情。如果你有足够的声誉,你可以点击答案左上角的向上箭头。此外,单击答案左上角附近的复选标记,接受最佳答案(如果它确实回答了您的问题)。这比在评论中说谢谢要好。这也有助于其他人看到您的问题得到了回答。感谢您的反馈!声誉低于15的投票将被记录,但不会更改公开显示的帖子分数。-我收到此消息。很高兴帮助您!如果答案解决了问题,请随意接受答案,在本网站上向上投票/向下投票,通过向上投票所有有用的答案来表达您的感激之情。如果你有足够的声誉,你可以点击答案左上角的向上箭头。此外,单击答案左上角附近的复选标记,接受最佳答案(如果它确实回答了您的问题)。这比在评论中说谢谢要好。这也有助于其他人看到您的问题得到了回答。感谢您的反馈!声誉低于15的人所投的票会被记录下来,但不会改变公开显示的帖子分数。-我收到这条消息。