Python 3.x 如何删除括号中的值
如何删除列中的值 我的数据帧就像Python 3.x 如何删除括号中的值,python-3.x,pandas,Python 3.x,Pandas,如何删除列中的值 我的数据帧就像 User Country ssai(va) india coiu(hy) india bgttr(juu) china I应删除括号中的输出值 所需输出为 User Country ssai india coiu india bgttr
User Country
ssai(va) india
coiu(hy) india
bgttr(juu) china
I应删除括号中的输出值
所需输出为
User Country
ssai india
coiu india
bgttr china
你可以用
In [716]: df.User.str.split('(').str[0]
Out[716]:
0 ssai
1 coiu
2 bgttr
Name: User, dtype: object
使用
str.replace
Ex:
import pandas as pd
df = pd.DataFrame({"User": ["ssai(va)", "coiu(hy)", "bgttr(juu)"]})
df["User"] = df["User"].str.replace(r"\(.*?\)", "")
print(df)
User
0 ssai
1 coiu
2 bgttr
输出:
import pandas as pd
df = pd.DataFrame({"User": ["ssai(va)", "coiu(hy)", "bgttr(juu)"]})
df["User"] = df["User"].str.replace(r"\(.*?\)", "")
print(df)
User
0 ssai
1 coiu
2 bgttr
使用:
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
applymap()将函数应用于数据帧中的每个条目。这里我使用re.sub()函数在每个单元格中进行替换
编辑:此方法用于从每个单元格中删除括号。如果只有一列,请使用Rakesh的方法,即
df.user = df.user.str.replace(r"\(.*?\)", "")