我正在使用 pandas 数据框,我想在出现空格后删除所有信息。我的数据框与此类似:
import pandas as pd
d = {'Australia' : pd.Series([0,'1980 (F)\n\n1957 (T)\n\n',1991], index=['Australia', 'Belgium', 'France']),
'Belgium' : pd.Series([1980,0,1992], index=['Australia','Belgium', 'France']),
'France' : pd.Series([1991,1992,0], index=['Australia','Belgium', 'France'])}
df = pd.DataFrame(d, dtype='str')
df
我可以删除一个特定列的值,但是 split() 函数不适用于整个数据帧。
f = lambda x: x["Australia"].split(" ")[0]
df = df.apply(f, axis=1)
有人知道如何在数据框中的每个值出现空格后删除信息吗?
最佳答案
我认为需要将所有列转换为字符串
,然后应用split
函数:
df = df.astype(str).apply(lambda x: x.str.split().str[0])
另一个解决方案:
df = df.astype(str).applymap(lambda x: x.split()[0])
print (df)
Australia Belgium France
Australia 0 1980 1991
Belgium 1980 0 1992
France 1991 1992 0
关于python - 删除 pandas 数据框中特定字符后的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49512948/