Pandas DataFrame用含空格列名筛选时报语法错误如何解决
问题原因
你的代码报错是因为data_frame.['FOOD NAME']的写法不符合pandas语法规则:点访问符df.列名和方括号索引df['列名']是两种独立的列访问方式,不能混合使用。而且因为你的列名带有空格,本身也不支持用点访问的方式调用。
修正后的代码
import pandas data_frame = pandas.read_csv('foods.csv') # 直接用方括号访问带空格的列即可 filter_data = data_frame[data_frame['FOOD NAME'] == 'Vegetables'] print(filter_data.to_string())
可选简化写法
如果偏好更简洁的筛选语法,也可以用pandas的query方法,注意带空格的列名需要用反引号包裹:
filter_data = data_frame.query("`FOOD NAME` == 'Vegetables'")
内容的提问来源于stack exchange,提问作者k1dlat
相关产品推荐
相关产品推荐

