我有一个数据帧“df”,它有一个日期时间索引和另一个名为“Location”的索引列: V1 V2 Date Location 2001-01-01 1 0.5 0.7 2 0.6 0.52001-01-02 3 0.8 0.2 4 0.8 0.22001-01-03 5 0.2 0.4 6 0.2 0.52001-01-04 7 0.2 0.3 8 0.8 0.7如您所见,数据帧在同一日期下有多个观测值。为了能够使用一些统计包,我必须使用此方法将数据帧的频率设置为“天”:df = df.asfreq('d')但是,数据帧有两个索引列;一个日期时间和另一个不是。当我尝试使用带字幕的代码块中的方法设置频率时,我得到了这个错误:类型错误: 无法将输入 [(时间戳('2002-07-23 00:00:00+0000', tz='UTC'), '1')] 转换为时间戳如果我尝试仅将日期设置为索引列,则最终会在框架中多次出现同一日期的情况。简而言之;Pandas将这些重复的实例解释为重复实例。您将如何解决此问题?
1 回答
三国纷争
TA贡献1804条经验 获得超7个赞
有,所以可能的解决方案是首先由DataFrame.unstack
进行重塑,然后由DataFrame.stack
重塑:MultiIndex
DatetimeIndex
df = df.unstack().asfreq('d').stack()
print (df)
V1 V2
Date Location
2001-01-01 1 0.5 0.7
2 0.6 0.5
2001-01-02 3 0.8 0.2
4 0.8 0.2
2001-01-03 5 0.2 0.4
6 0.2 0.5
2001-01-04 7 0.2 0.3
8 0.8 0.7
添加回答
举报
0/150
提交
取消