0

Pandas 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

ヘッダーを印刷すると、ヘッダーが 2 つの行に分割される理由がわかりません。また、日付が適切に解析されているかどうかもわかりません。read_csv への呼び出しを修正する方法はありますか?

4

1 に答える 1

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 の列になります。

于 2013-04-15T23:36:08.613 に答える