【发布时间】:2016-07-12 06:47:58
【问题描述】:
from dateutil.rrule import rrule, MONTHLY
def fread_year_month(strt_dt, end_dt):
dates = [dt for dt in rrule(MONTHLY, dtstart=strt_dt, until=end_dt)]
return dates
df = pd.DataFrame({
'value' : [4,2,5,6,7,8,6,5,4,1,2,4],
'date': fread_year_month(dt.datetime(2015, 1, 1),dt.datetime(2015, 12, 1)),
'stock': ['amzn']*12
},columns=[
'value', 'date', 'stock'] )
df2 = pd.DataFrame({
'value' : [1,1,1,1,1],
'date': fread_year_month(dt.datetime(2015, 1, 1),dt.datetime(2015, 5, 1)),
'stock': ['msft']*5
},columns=[
'value', 'date', 'stock'] )
df = df.append(df2)
df.set_index(['stock', 'date'], inplace=True)
我有上面的熊猫数据框。如您所见,amzn 的可用数据数量与 msft 不同。在此示例中,日期是连续的,但不一定是这种情况(日期可以是任何日期)。
如果可用日期的范围是我拥有 AMZN 数据的日期,那么我如何使用 NaN 或 NA 为我的数据框中的所有其他股票添加这些确切日期。
在给出的示例中,我想在索引中插入 msft 的缺失日期,并为这些日期索引的值插入 NaN 或 NA。
【问题讨论】:
标签: python pandas indexing nan reindex