Python 从文件读取数据帧时出错
我正在尝试使用python中的DataFrame.from_csv()读取一个文件。该文件包含此值Python 从文件读取数据帧时出错,python,pandas,Python,Pandas,我正在尝试使用python中的DataFrame.from_csv()读取一个文件。该文件包含此值 TICKER,date,ASKHI,PRC,BIDLO,PortfolioDate,PortfolioName MSFT,2012-06-29 00:00:00,NA,NA,NA,2010-12-31 00:00:00,SAP500 MSFT,2012-07-31 00:00:00,NA,NA,NA,2010-12-31 00:00:00,SAP500 MSFT,2012-08-31 00:00:
TICKER,date,ASKHI,PRC,BIDLO,PortfolioDate,PortfolioName
MSFT,2012-06-29 00:00:00,NA,NA,NA,2010-12-31 00:00:00,SAP500
MSFT,2012-07-31 00:00:00,NA,NA,NA,2010-12-31 00:00:00,SAP500
MSFT,2012-08-31 00:00:00,NA,NA,NA,2010-12-31 00:00:00,SAP500
MSFT,2012-09-28 00:00:00,NA,NA,NA,2010-12-31 00:00:00,SAP500
MSFT,2012-10-31 00:00:00,28.88,28.54,28.5,2010-12-31 00:00:00,SAP500
但是,当我访问时,我从dataframe读取它,该帧生成如下
date ASKHI PRC BIDLO PortfolioDate \
TICKER
MSFT 2012-06-29 00:00:00 NaN NaN NaN 2010-12-31 00:00:00
MSFT 2012-07-31 00:00:00 NaN NaN NaN 2010-12-31 00:00:00
MSFT 2012-08-31 00:00:00 NaN NaN NaN 2010-12-31 00:00:00
MSFT 2012-09-28 00:00:00 NaN NaN NaN 2010-12-31 00:00:00
MSFT 2012-10-31 00:00:00 28.88 28.54 28.5 2010-12-31 00:00:00
PortfolioName
TICKER
MSFT SAP500
MSFT SAP500
MSFT SAP500
MSFT SAP500
MSFT SAP500
当我使用frame['date']选择列'date'时,结果是:
TICKER
MSFT 2012-06-29 00:00:00
MSFT 2012-07-31 00:00:00
MSFT 2012-08-31 00:00:00
MSFT 2012-09-28 00:00:00
MSFT 2012-10-31 00:00:00
我的代码是:
frame = DataFrame.from_csv('/home/raghu/log.txt',sep=',');
我是新来的。我有什么遗漏吗?为什么第一栏是这样的
编辑:Pandas版本:“0.14.1”不要使用它不再维护,而是使用:
第一列之所以奇怪,是因为它在使用时将第一列作为索引(默认值为index\u col
为0
),而实际情况并非如此(默认值为index\u col
为None
)
编辑
要在不升级的情况下修复错误,只需将参数中的index\u col=None
设置为from\u csv
:
In [115]:
df = pd.DataFrame.from_csv(io.StringIO(temp), index_col=None)
df['date']
Out[115]:
0 2012-06-29 00:00:00
1 2012-07-31 00:00:00
2 2012-08-31 00:00:00
3 2012-09-28 00:00:00
4 2012-10-31 00:00:00
Name: date, dtype: object
不要使用
pandas.DataFrame.from_csv
它已经过时了,请使用pandas.read_csv
。另外请注意,如果您不喜欢这种行为,并且由于某种原因无法避免,您可以随时重置索引:df=df.reset_index()
pandas.read_csv无法删除默认索引。无论如何,我使用dataframe.to_csv(index=False)来重新生成csv,效果很好。我试过了。但是,有一个错误“AttributeError:type对象“DataFrame”没有属性“read_csv”。我用的是蟒蛇,我觉得他们的包装已经过时了。无论如何,谢谢。@RaghuVenmarathoor是的,你应该更新,你能用你正在使用的pandas版本更新你的帖子吗,因为这对其他用户会有帮助,如果这回答了你的问题,你也可以接受。有趣的是,frame=pandas.DataFrame.read_csv('testFile.csv',sep=',index_col False)显示了预期的结果。但是,我不希望索引显示在dataframeNo中,它应该是None
而不是False
我希望这是anaconda中熊猫的问题。我尝试了没有,但它仍然显示索引!!
In [115]:
df = pd.DataFrame.from_csv(io.StringIO(temp), index_col=None)
df['date']
Out[115]:
0 2012-06-29 00:00:00
1 2012-07-31 00:00:00
2 2012-08-31 00:00:00
3 2012-09-28 00:00:00
4 2012-10-31 00:00:00
Name: date, dtype: object