我特灵使用inf_freq和asfreq,返回的数据框是空的
原始数据集:
month interest
0 2004-01 13
1 2004-02 15
2 2004-03 17
3 2004-04 19
4 2004-05 22
尝试转换不同频率的数据
ice_cream_interest = pd.read_csv('ice_cream_interest.csv')
ice_cream_interest.set_index('month', inplace=True)
ice_cream_interest = ice_cream_interest.asfreq(pd.infer_freq(ice_cream_interest.index))
interest
month
2004-01-01 NaN
2004-02-01 NaN
2004-03-01 NaN
2004-04-01 NaN
2004-05-01 NaN
... ...
2020-04-01 NaN
2020-05-01 NaN
2020-06-01 NaN
2020-07-01 NaN
2020-08-01 NaN
2条答案
按热度按时间nzkunb0c1#
我想引用
asfreq()
的文档。对应于新索引中不存在于原始索引中的任何时间步长的值将为空(NaN)。
问题是,在你的例子中,索引中的日期仍然是字符串,并且
asfreq()
-方法给定的datetime对象还不存在。您可以解决这个问题,首先将“months”转换为datetime对象。请看下面的例子:
如果我们首先将月份转换为datetime对象,我们将得到
在没有这种转换的情况下也做同样的事情
cgvd09ve2#
给出:
正在进行:
输出:
我们可以看到它成功地转换为频率指数。