如何删除大括号中的值

时间:2018-07-20 10:12:23

标签: python-3.x pandas

如何删除列中括号中的值 我的数据框就像

User                Country
ssai(va)            india
coiu(hy)             india
bgttr(juu)            china

I输出应删除括号中的值 所需的输出是

User                Country
ssai                   india
coiu                  india
bgttr                 china

3 个答案:

答案 0 :(得分:1)

您可以使用

In [716]: df.User.str.split('(').str[0]
Out[716]:
0     ssai
1     coiu
2    bgttr
Name: User, dtype: object

答案 1 :(得分:1)

使用onPush

例如:

str.replace

输出:

import pandas as pd
df = pd.DataFrame({"User": ["ssai(va)", "coiu(hy)", "bgttr(juu)"]})
df["User"] = df["User"].str.replace(r"\(.*?\)", "")
print(df)

答案 2 :(得分:0)

使用:

import pandas as pd
import re

df = pd.DataFrame({"User":["ssai(va)", "coiu(hy)", "bgttr(juu)"],"Country":["india", "india", "china"]})

print(df.applymap(lambda x: re.sub("\(.*?\)", "", x)))

返回

    User Country
0   ssai   india
1   coiu   india
2  bgttr   china

df.applymap()将函数应用于DataFrame中的每个条目。在这里,我使用re.sub()函数在每个单元格中进行替换。

编辑:此方法用于从每个单元格中删除括号。如果您只将它们放在一栏中,请使用Rakesh的方法,即

df.user = df.user.str.replace(r"\(.*?\)", "")