python - 删除 pandas 数据框中特定字符后的值

标签 python pandas dataframe split

我正在使用 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/

相关文章:

python - 有没有办法让 Flask 更冗长?

python - 比较包含 NaN 的 numpy 数组

python - 如果超过最大值,则获取开始和停止之间的数字并重新启动计数器

python - 带有 isin 的 Pandas 函数

r - pretty-print 数据框时如何增加列之间的空间?

Python - 需要删除数据框中的所有数据,其中一个特定列的值至少包含 1 个字母

python - 用户如何输入文件名?

python - 在 NumPy 中按行比较两个矩阵

Python:将奇怪的字典转换为 Pandas - 数据框

r - 得分与 R 共有的因素数