繁体   English   中英

扩大数据框的日期范围

[英]Enlarging date range of dataframe

我有一个由以下代码生成的数据框:

df_ = pd.DataFrame([['2018-02-05', '2018-02-11', '2018-02-12'], [77, 77, 77]]).transpose()
df_.set_index(keys = 0, inplace = True)

我想基于df_创建一个跨越以下日期范围的数据框

start_date = pd.to_datetime('2018-02-01')
end_date = start_date + pd.DateOffset(months=1) - pd.DateOffset(days=14)
index_ = pd.date_range(start_date, end_date)

df_中的缺失值应填充零。 他们是这样做的快速方法,不将index_转换为数据帧,然后应用pd.mergepd.concat类的东西吗?

谢谢,如果您需要更多信息,请告诉我。

我认为如果index_和原始df.index中的所有值都是唯一的,则需要将索引转换为to_datetime ,然后使用reindex

df_.index = pd.to_datetime(df_.index)
df = df_.reindex(index_, fill_value=0)
print (df)
             1
2018-02-01   0
2018-02-02   0
2018-02-03   0
2018-02-04   0
2018-02-05  77
2018-02-06   0
2018-02-07   0
2018-02-08   0
2018-02-09   0
2018-02-10   0
2018-02-11  77
2018-02-12  77
2018-02-13   0
2018-02-14   0
2018-02-15   0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM