name_col
datetime
2017-03-22 0.2
我想在当前日期(2017-03-25)之前添加多行,以便生成的数据框如下所示:
name_col
datetime
2017-03-22 0.2
2017-03-23 0.0
2017-03-24 0.0
2017-03-25 0.0
如何为每个日期时间添加多行?我可以将当前日期视为
from datetime import datetime, timedelta, date
date.today()
答案 0 :(得分:4)
您还可以使用.resample()
方法:
In [98]: df
Out[98]:
name_col
datetime
2017-03-22 0.2
In [99]: df.loc[pd.to_datetime(pd.datetime.now().date())] = 0
In [100]: df
Out[100]:
name_col
datetime
2017-03-22 0.2
2017-03-25 0.0
In [101]: df.resample('D').bfill()
Out[101]:
name_col
datetime
2017-03-22 0.2
2017-03-23 0.0
2017-03-24 0.0
2017-03-25 0.0
答案 1 :(得分:3)
您可以使用DF.reindex
将原始DF's
索引与为扩展日期范围生成的新索引范围对齐。
请注意,pd.date_range
会产生与每日频率相对应的频率偏移,因此无需明确指定此freq
参数。
from datetime import date
df.reindex(pd.date_range(df.index[0], date.today(), name=df.index.name), fill_value=0)