我有以下时间序列:在此处输入图片说明

我想仅在 time = 800 之后对齐信号,基于对齐的最小点。

我尝试了以下方法来对齐熊猫中的两个信号:

from pandas import *
import pandas as pd
s1 = Series(vec1)
s2 = Series(vec2)
s3 = s1.align(s2,join='inner')

s1 = np.array(s1)
s2 = np.array(s2)
s3 = np.array(s3)

plt.plot(t,s1)
plt.plot(t,s2)
plt.plot(t,s3)
plt.show()

它显示了与原始形式完全相同的对齐信号。 关于如何实现最小对齐的任何建议?

#1楼 票数:6 已采纳

要查找并对齐最小值:

import matplotlib.pyplot as plt  #making toy data
x = np.arange(0, 2, .05)

s = []
s.append(np.sin(x*3))
s.append(np.cos(x*4+0.3))
s.append(np.sin(x)*np.exp(2-x)*-1)
plt.clf()
plt.plot(x, s[0], x, s[1], x, s[2])
plt.show()
plt.clf()

在此处输入图片说明

mindexes = [i.argmin() for i in s]  #finding the minima
shifts = mindexes - min(mindexes)

def shifted(shift, x, s):
    if shift == 0:   #x[:-0] was not what I wanted.
        return x, s
    else:
        return x[:-1*shift], s[shift:]

for i in (0,1,2):
    px, py = shifted(shifts[i], x, s[i]) 
    plt.plot(px, py)
plt.show()

在此处输入图片说明

#2楼 票数:1

有点粗糙,但为什么不实现一个while循环呢? import numpy as np import pandas as pd

# assuming you are shifting s2 to the left
# cut off at 800 s
s1 = s1[s1.index>=800]
s2 = s2[s2.index>=800]

while s2.index[s2==s2.min()]>s1.index[s1==s1.min()]:
    s2 = s2[801:]
    s2.index = np.arange(800,800 + s2.shape[0])

  ask by user3025898 translate from so

未解决问题?本站智能推荐:

2回复

Python-时间序列对齐和“迄今为止”的函数

我有一个包含以下前三列的数据集。 包括购物篮ID(唯一标识符),销售金额(美元)和交易日期。 我想为数据集的每一行计算以下列,我想在Python中使用它。 以前出售同一个篮子(如果有的话); 目前购物篮的销售数量 ; 当前购物篮的平均日期 (如果有); 当前购物篮的最大日期 (如果
1回复

用python中的时间序列预测

我需要你们的帮助。 当X(天)代表时间时,我实际上想要预测变量Y(c_start)的下一个值。 正如您在图片中看到的,我有属性“c_start”的值,我想预测接下来7天的下一个“c_start”值(例如)。 愿有人帮帮我吗? 大家好!
1回复

python中的时间序列分析

我是Python的新手,正在尝试分析时间序列。 我有一个用日期编入索引的序列,我想分割时间序列,以查看例如在$ 16和17之间出现了多少$ t $,在17和18之间出现了多少,等等。 我要如何在几分钟,几天,几周,几个月内做到这一点? 基本上,我想放大不同的时间长度。 理想的解决方案
1回复

使用resample来对齐pandas中的多个时间序列

这是设置代码: 以下是表中数据的样子(未显示APOL的第3个值): 目标是将数据与日历季度标记对齐,以便可以比较3个数据集。 只是浏览下面的日期,2012年3月,2011年12月和2011年9月似乎是合理的对齐标记。 这是fill_method ='ffill'的输出: 看起来
2回复

如何在熊猫中对齐不同日期的时间序列?

我有两个时间序列, df1 和df2 : 问题是我测量的传感器对星期几很敏感,所以例如在星期天,它们会产生较少的cnt 。 现在我需要比较 2017 年和 2020 年这两个不同年份的时间序列,但要做到这一点,我必须将(在本例中为 3 月)与一周中的匹配日对齐,并相应地绘制它们。 如何“移动”数据以
1回复

在Python中识别时间序列中的活动

图表显示水温随时间变化。 当有激活时,温度会升高。 当激活结束时,温度将开始下降(尽管有时可能会有时间滞后)。 我想计算发生事件的次数(每个蓝色圆圈代表一次激活)。 有时会出现随机噪音(红色圆圈 - 表示随机温度变化,但您可以看到只有增加或减少,而不是两者,这意味着这不是一个适当的事件)。 无论时
1回复

Python在时间序列数据框中填充零

我有一个日期列表和一个数据框。 现在,数据框具有一个id列和其他对于所有日期都不一致的值。 我想在没有数据的id和日期的所有列中填充零。 让我通过示例向您展示: 日期列表是这样的: 我想要为所有ID的数据框中的所有缺失日期添加零。 因此,生成的df应该如下所示:
1回复

python中的时间序列分解错误

我有以下数据框 然后我将日期列变成日期时间 dtype 当我打印我得到的 dtypes 然后我使用以下代码进行时间序列分解 但我收到以下错误 我的数据框中没有任何缺失值,我不确定为什么会收到此错误