无法从 pandas 数据框中删除空格

有这个数据:


                              region gdp_per_capita

0                      Coasts of USA         71 546

1          USA: New York, New Jersey         81 615

2                    USA: California         74 205

3                   USA: New England         74 000

想要得到这个:


                              region gdp_per_capita

0                      Coasts of USA          71546

1          USA: New York, New Jersey          81615

2                    USA: California          74205

3                   USA: New England          74000

尝试使用df.columns = df.columns.str.replace(' ', ''),但没有成功


偶然的你
浏览 158回答 4
4回答

SMILET

只是这样应该做:df['gdp_per_capita'] = df['gdp_per_capita'].astype(str).str.replace('\s+', '').replace('nan', np.nan)df['gdp_per_capita'] = pd.to_numeric(df['gdp_per_capita'])print(df)                      region gdp_per_capita0              Coasts of USA          715461  USA: New York, New Jersey          816152            USA: California          742053           USA: New England          74000

绝地无双

看起来您想使用数字而不是字符串。因此,替换' '和''使用pd.to_numeric似乎是一种简单而可靠的方法。让我建议另一种可能好也可能不好的方法(这取决于您的数据集)。如果数据集中的数千个数据由空格 ( ' ') 分隔,您可以将df其读取为df = pd.read_csv(file, thousands = ' ')并且您的所有列都74 109将被读取为74109整数dtype或浮点数。

qq_花开花谢_0

import re df['gdp_per_capita'] = df['gdp_per_capita'].apply(lambda x: re.sub("[^0-9]", "", str(x))).astype(int)

缥缈止盈

我不太确定它是否有效,但请尝试以下操作:修剪 pandas 中列的前导空格 – lstrip()修剪 pandas 中列的尾随空格 – rstrip()修剪 pandas 中列的前导和尾随空格 – strip()去除 pandas 中列的所有空白。让我知道它是否有效:)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python