我正在研究如何对以下数据重新取样。诀窍是有两个变量,我需要(标识符和变量)保持在重采样。你知道吗
我尝试使用以下代码重新采样:
df.set_index('date').to_period('d').resample('d').fillna(method='ffill')
但它不允许我给索引不是唯一的。所以,我想如果我把它转换成宽幅的形式,使它成为多层次的列,我就可以在保持标识符和变量信息的同时,对重新成形的数据帧进行重采样。你知道吗
原始数据格式如下:
date, identifier, variable, value
2018-04-01, BBN, M3M, 24
2018-04-07, BBN, M3M, 25
2018-04-14, BBN, M3M, 25
2018-04-21, BBN, M3M, 25
2018-04-01, BBN, M12M, 48
2018-04-07, BBN, M12M, 52
2018-04-14, BBN, M12M, 50
2018-04-21, BBN, M12M, 49
2018-04-01, MXP, M3M, 18
2018-04-07, MXP, M3M, 20
2018-04-14, MXP, M3M, 25
2018-04-21, MXP, M3M, 22
2018-04-01, MXP, M12M, -10
2018-04-07, MXP, M12M, -12
2018-04-14, MXP, M12M, -14
2018-04-21, MXP, M12M, -18
预期重塑:
identifier BBN, MXP
variable M3M, M12M,M3M,M12M
date 2018-04-01, 24, 48, 18, -10
date 2018-04-07, 25, 52, 20, -12
date 2018-04-14, 25, 50, 25, -14
date 2018-04-21, 25, 49, 22, -18
我认为,一旦它是这种格式,日期索引应该是唯一的,然后我将能够重新采样的数据,包括失踪的日子。我只是不知道如何透视表以获得多个级别的列。你知道吗
有没有人能给我指出正确的方向,或者提供任何帮助或建议???你知道吗
使用
set_index
和unstack
修复代码或
pivot_table
相关问题 更多 >
编程相关推荐