使用Pandas read_csv下载资金数据

时间:2013-04-15 23:14:35

标签: python csv pandas

我正在尝试使用Pandas read_csv从this page下载资金数据。

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 个答案:

答案 0 :(得分: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中的一列,而不是成为索引。