【发布时间】:2012-10-07 06:12:54
【问题描述】:
我使用 pandas.io.data 从 Ken French 的数据库中获取 Fama-French 因子,但我不知道如何将整数年月日期索引(例如,200105)转换为 datetime 索引以便我可以利用更多pandas 功能。
以下代码运行,但我在最后一个未注释行中的索引尝试删除了 DataFrame ff 中的所有数据。我也试过.reindex(),但这不会将索引更改为range。 pandas 方式是什么?谢谢!
import pandas as pd
from pandas.io.data import DataReader
import datetime as dt
ff = pd.DataFrame(DataReader("F-F_Research_Data_Factors", "famafrench")[0])
ff.columns = ['Mkt_rf', 'SMB', 'HML', 'rf']
start = ff.index[0]
start = dt.datetime(year=start//100, month=start%100, day=1)
end = ff.index[-1]
end = dt.datetime(year=end//100, month=end%100, day=1)
range = pd.DateRange(start, end, offset=pd.datetools.MonthEnd())
ff = pd.DataFrame(ff, index=range)
#ff.reindex(range)
【问题讨论】: