无法移除Pandas DataFrame数据值空格?现有方法失效求解决
解决Pandas中去除
gdp_per_capita列数值空格的问题 哦,我懂你的困扰啦!你刚才执行的df.columns = df.columns.str.replace(' ', '')其实是在修改DataFrame的列名,但咱们的目标是处理gdp_per_capita列里单元格数值中的空格,所以这个操作自然没达到预期效果。别慌,下面几个简单方法就能搞定:
方法一:直接替换列中的空格
因为你的gdp_per_capita列数值是带空格的字符串格式,咱们可以直接用str.replace把空格去掉:
# 替换列中所有空格为空字符串 df['gdp_per_capita'] = df['gdp_per_capita'].str.replace(' ', '')
如果之后需要把这些值转为整数(方便后续计算),可以追加一步类型转换:
# 替换空格后转为整数类型 df['gdp_per_capita'] = df['gdp_per_capita'].str.replace(' ', '').astype(int)
方法二:读取数据时直接处理(如果是从文件读取)
要是这些数据是从CSV或类似文件读取的,你可以在读取阶段就指定千分位分隔符为空格,这样读取后直接就是无空格的数值:
import pandas as pd # 读取时指定千分位分隔符为空格,自动处理带空格的数值 df = pd.read_csv('your_data_file.csv', thousands=' ')
为什么之前的代码没用?
再解释下:df.columns.str.replace(' ', '')的作用是遍历DataFrame的所有列名,把列名里的空格去掉。但你的列名region和gdp_per_capita本身就没有空格,所以这个操作对单元格里的数值内容完全没有影响哦~
内容的提问来源于stack exchange,提问作者user14383280
相关产品推荐
相关产品推荐

