[英]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.merge
或pd.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.