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

2024-06-08 15:36:15 发布

您现在位置:Python中文网/ 问答频道 /正文

数据是这样的

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

预期结果-

LIQUID PARAFFIN+MAGNESIUM HYDROXIDE+SODIUM PICOSULFATE

Tags: 数据dfreplacecompositionstrliquidmg圆括号
1条回答
网友
1楼 · 发布于 2024-06-08 15:36:15

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

这里有一个例子:

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

相关问题 更多 >