如何在Python中获取列名为数字的数据列?
解决Pandas获取数字列标签数据的问题
你的问题出在列标签的类型不匹配:Pandas读取Excel时,会把纯数字的列名识别为整数类型,而你用字符串"2"去索引,自然找不到对应的列。
给你几个可行的解决办法:
直接用整数索引匹配列名
如果列名是整数类型,直接用整数取值就行:movies[2] # 或者用loc更明确指定列标签 movies.loc[:, 2]先确认列名的实际类型
不确定列名类型的话,先打印出来看看:print("列名类型:", movies.columns.dtype) print("所有列名:", movies.columns.tolist())把列名统一转为字符串类型
要是习惯用字符串索引,可以把所有列名转成字符串,之后就能用movies["2"]访问了:movies.columns = movies.columns.astype(str) movies["2"] # 现在就能正常访问了
另外,读取Excel时也可以提前处理表头,但读取后转换列名类型的方式更直接简单。
内容的提问来源于stack exchange,提问作者player19
相关产品推荐
相关产品推荐

