我有一个包含15行和22列的CSV文件。每次我尝试导入文件时,它都会排除第11和第12列。
奇怪的是,如果我尝试使用20列或更少的文件,这个问题就不会发生。
任何帮助都将不胜感激。
我已经更新了下面的代码并尝试了不同的csv文件。正如您从输出中看到的那样,不仅列在打印时没有显示,而且当我尝试使用SQLDF查询时,它表示该列不存在。
这是我的代码:
import pandas as pd
mydata_demographics= pd.read_csv('Demographics2.csv', header=0)
mydata_demographics.head()
from pandasql import sqldf
query_T = """
select
b1.customer_id,
b1.YOB, b1.NumChildren, b1.City, b1.Population_K, b1.HouseHolds,
b1.HHAveSize,
b1.PopUnder5, b1.Pop5_16, b1.Pop17_25, b1.Pop26_35,
b1.Pop36_45, b1.Pop46_55, b1.Pop56_65, b1.PopOver65,
b1.HHIncomeMed, b1.WhtCollarOcc, b1.BluCollarOcc
from
mydata_demographics B1
"""
mydata_demo_T= sqldf(query_T, globals())
mydata_demo_T.head()
以下是原始数据的示例(同样,有22列,15行):
HouseHolds HHAveSize PopUnder5 Pop5_16
277 2.2 5.8 14.9
277 2.2 5.8 14.9
277 2.2 5.8 14.9
292 2.3 5.8 14.9
以下是结果的样本:
City Population_K HouseHolds ... Pop5_16
0 Chicago 623 277 ... 14.9
1 Chicago 623 277 ... 14.9
2 Chicago 623 277 ... 14.9
3 Chicago 684 292 ... 14.8
现在,当我运行SQL代码时,它会出现以下错误:列HHAveSize不存在:
PandaSQLException: (sqlite3.OperationalError) no such column: b1.HHAveSize
[SQL: '\nselect \nb1.customer_id, \nb1.YOB, b1.NumChildren, b1.City,
b1.Population_K,
我跑的时候 mydata_demographics.shape
它显示有22列: mydata_demographics.shape 出[45] :( 15,22)
答案 0 :(得分:0)
正如Shweta在评论中提到的那样,列可能就在那里,他们只是没有被显示出来。如果您希望能够查看所有列,则可以打印数据框,如:
with pd.option_context('display.max_columns', len(mydata_1.columns), 'display.max_rows', 4):
print mydata_1
这将打印前4行和所有列。