[pandas]-解决读取csv或Excel文件为dataframe时,columns和index首尾出现空格,导致loc切片keyerror问题

89 阅读1分钟

一、问题描述

  读取csv或Excel文件为dataframe时, 经常存在columns和index首尾出现空格的情况,导致使用loc切片出现keyerror问题。 在这里插入图片描述

二、问题复现

import pandas as pd

data = pd.DataFrame({' a ': [0, 1, 2, 3, 4], ' b ': [5, 6, 7, 8, 9]})
print(data.loc[1, 'a'])

  运行上述代码,创建一个columns带有首位空格的dataframe,此时我们使用loc切片会出现以下结果。 在这里插入图片描述

三、问题解决

  使用str的strip( )函数可以去除首尾空格,再赋值回data的columns,index同理

import pandas as pd

data = pd.DataFrame({'a ': [0, 1, 2, 3, 4], ' b ': [5, 6, 7, 8, 9]})
data.columns = data.columns.str.strip()
print(data.loc[1, 'a'])

  此时运行代码可正确得到loc切片结果 在这里插入图片描述