2013-04-15 58 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)'應該夠用 –