我有两组温度数据,它们有固定(但不同)时间间隔的读数。我试图得到这两组数据之间的相关性。
我一直在和Pandas玩,试图做到这一点。我已经创建了两个timeseries,并且正在使用TimeSeriesA.corr(TimeSeriesB)
。但是,如果两个timeSeries中的时间不完全匹配(它们通常以秒为单位),我将得到空值作为答案。如果我能得到一个体面的答案:
a)在每个时间序列中插入/填充缺失时间(我知道这在熊猫中是可能的,我只是不知道如何做到)
b)从python datetime对象中去掉seconds(将seconds设置为00,不更改minutes)。我会失去一定程度的准确性,但不会损失太多
c)在熊猫身上使用其他东西来获得两个时间序列之间的相关性
d)在python中使用一些东西来获取两个float列表之间的关联,每个float都有一个相应的datetime对象,同时考虑到时间。
有人有什么建议吗?
使用pandas有许多选项,但是必须决定如何合理地对齐数据,因为它们不会在同一时刻出现。
使用其中一个时间序列中的“截至”时间值,下面是一个示例:
你可以在30秒前看到它们关闭。
reindex
函数允许您在填充正向值(获取“截止”值)时对齐数据:请注意,“pad”也有“ffill”的别名(但仅限于GitHub上最新版本的pandas)。
从所有日期时间中删除秒数。最好的方法是使用
rename
请注意,如果重命名导致出现重复日期,则将抛出
Exception
。对于更高级的内容,假设您想关联每分钟的平均值(其中每秒有多个观测值):
如果没有来自https://github.com/wesm/pandas的最新代码,这些最后的代码片段可能无法工作。如果
.mean()
对上面的GroupBy
对象不起作用,请尝试.agg(np.mean)
希望这有帮助!
相关问题 更多 >
编程相关推荐