2013-04-15 24 views
0

我试图用熊猫read_csv从this page下载财政部的数据。与熊猫下载财政部的数据read_csv

url = "http://www.federalreserve.gov/datadownload/Output.aspx?rel=H15&series=bcb44e57fb57efbe90002369321bfb3f&lastObs=&from=&to=&filetype=csv&label=include&layout=seriescolumn" 
res = requests.get(url) 
csvio = StringIO(res.content) 
dataframe = pd.read_csv(csvio, header=5, index_col=0, parse_dates=True) 

columns_dic = {"RIFLGFCY10_N.B":'BC_10YEAR'} 
dataframe = dataframe.rename(columns=columns_dic) 

print (dataframe.head()) 

输出看起来有点怪我:

  BC_10YEAR 
Time Period   
1962-01-02  4.06 
1962-01-03  4.03 
1962-01-04  3.99 
1962-01-05  4.02 
1962-01-08  4.03 

我不明白为什么头部被两排之间的分裂,当我打印出来。此外,我不清楚日期正确解析。有没有办法可以解决我对read_csv的调用?

回答

1

的头,因为你index_col=0论点的分裂。尝试不使用索引列

In [20]: dataframe = read_csv(csvio, header=5, index_col=None, parse_dates=True) 

In [21]: dataframe 
Out[21]: 
<class 'pandas.core.frame.DataFrame'> 
Int64Index: 13379 entries, 0 to 13378 
Data columns: 
Time Period  13379 non-null values 
RIFLGFCY10_N.B 13379 non-null values 
dtypes: object(2) 

In [22]: dataframe.head() 
Out[22]: 
    Time Period RIFLGFCY10_N.B 
0 1962-01-02   4.06 
1 1962-01-03   4.03 
2 1962-01-04   3.99 
3 1962-01-05   4.02 
4 1962-01-08   4.03 

并且来自StringIO对象的第一列数据成为DataFrame中的一列,而不是成为索引。

+0

我想打第一列的索引,虽然 –

+1

那是多么大熊猫打印索引?对我来说,这看起来很奇怪,它分成两行,我不确定这是否可行。 –

+2

@BenMcCann是的,这就是大熊猫如何打印一个有名字的索引。你也不需要这里的请求。 'pd.read_csv(url,header = 5,index_col = 0,parse_dates = True)'应该够用 –