我有时间索引数据:
df2 = pd.DataFrame({ 'day': pd.Series([date(2012, 1, 1), date(2012, 1, 3)]), 'b' : pd.Series([0.22, 0.3]) })
df2 = df2.set_index('day')
df2
b
day
2012-01-01 0.22
2012-01-03 0.30
扩展这个数据框架的最佳方法是什么,以便它在2012年1月的每一天都有一行(比如说,所有列都设置为没有数据的NaN
(这里只有b
)?
因此,期望的结果是:
b
day
2012-01-01 0.22
2012-01-02 NaN
2012-01-03 0.30
2012-01-04 NaN
...
2012-01-31 NaN
非常感谢!
使用这个:
它给出:
还有一个选择: 首先在最后一天添加一个
NaN
记录,然后重新采样。这样重新采样将为您填充丢失的日期。开始帧:
填充帧:
您可以将过去的一天重新采样为频率,而无需指定
fill_method
参数缺少的值将按您的需要填充NaN
回答你的第二部分,我现在想不出一个更优雅的方式:
这将构造第二个时间序列,然后像以前一样追加并调用
asfreq('D')
。相关问题 更多 >
编程相关推荐