У меня есть два вопроса, которые я задал в одном запросе на помощь. поэтому я надеюсь, что это не сделает его переполненным.
Я потратил довольно много времени, чтобы разобраться в этом, но пока безуспешно. Я пытаюсь построить только точки из серии данных, которые близки друг к другу, а не переходы (см. график ниже). Вероятно, мне нужно условие if, которое говорит, что график x(2)-x(1) '2024-05-21T09:43:31.7141954Z')] #selecting desired time interval
data_measurement1 = data.loc[data['_measurement'] == desired_field1]
data_field1 = data_measurement1.loc[data['_field'] == desired_value1]
data_measurement2 = data.loc[data['_measurement'] == desired_field2]
data_field2 = data_measurement2.loc[data['_field'] == desired_value2]
data_measurement3 = data.loc[data['_measurement'] == desired_field3]
data_field3 = data_measurement3.loc[data['_field'] == desired_value3]
values1 = list(data_field1['_value']) #values we are interested in
values2 = list(data_field2['_value'])
values3 = list(data_field3['_value'])
#....
mean_xs = [(g + h) / 2 for g, h in zip(values1, values2)]
LM_mean = [50-x for x in mean_xs]
#start plotting
data_field1['_time'] = pd.to_datetime(data_field1['_time'].str.split().str[-1])
data_field2['_time'] = pd.to_datetime(data_field2['_time'].str.split().str[-1])
data_field3['_time'] = pd.to_datetime(data_field3['_time'].str.split().str[-1])
plt.plot(data_field1['_time'], values1, '-', label = desired_value1)
plt.plot(data_field2['_time'], values2, '-', label = desired_value2 )
plt.plot(data_field3['_time'], values3, '-', label = desired_value3)
plt.xlabel('time [D hh:mm]')
plt.ylabel(' x [um] MCS')
plt.legend(loc='best')
plt.gca().yaxis.grid(True)
plt.figure()
plt.plot(LM_mean, values3, 'o')
пример данных:
9988 2024-05-21T09:46:00.1164445Z 1294.005333
9989 2024-05-21T09:46:01.1115275Z 1294.005333
9990 2024-05-21T09:46:02.1254956Z 1294.005667
9991 2024-05-21T09:46:03.1191685Z 1294.005667
9992 2024-05-21T09:46:04.1325494Z 1294.005333
9993 2024-05-21T09:46:05.1268794Z 1294.005333
9994 2024-05-21T09:46:06.1409297Z 1294.005333
9995 2024-05-21T09:46:07.1346292Z 1294.005000
9996 2024-05-21T09:46:08.1488069Z 1294.005333
9997 2024-05-21T09:46:09.1417524Z 1294.005333
9998 2024-05-21T09:46:10.1563002Z 1294.005333
9999 2024-05-21T09:46:11.1692835Z 1294.005333
10000 2024-05-21T09:46:12.1642492Z 1332.747333
10001 2024-05-21T09:46:13.1977216Z 1344.011333
10002 2024-05-21T09:46:14.1926256Z 1344.012000
10003 2024-05-21T09:46:15.2062685Z 1344.011667
10004 2024-05-21T09:46:16.2200463Z 1344.011667
10005 2024-05-21T09:46:17.2339343Z 1344.012000
10006 2024-05-21T09:46:18.2479639Z 1344.012000
10007 2024-05-21T09:46:19.2405515Z 1344.012000
10008 2024-05-21T09:46:20.2556817Z 1344.012000
Я пытался найти это, но безуспешно.
Обновите информацию о том, как я это решил, обратите внимание, что у меня есть два временных ряда, и я хотел построить их график. друг против друга за один и тот же интервал времени:
idxSteps = np.array(np.where(np.abs(x.diff()) > 0.05))
idxSteps2 = np.array(np.where(np.abs(y.diff()) > 0.05))
previousStep = 0 # init the previous step
xIdx = list()
xMid = list() # init list for x
yMid = list() # ==/== for y
i=0
for currentStep in idxSteps[0]:# for every step detected
if currentStep != previousStep:
if currentStep in idxSteps2[0]:# and if they are not the same as previousStep
dummyX = x[previousStep:currentStep] # get the data between these two steps
dummyY = y[previousStep:currentStep] # ==/==
xIdx.append((previousStep+currentStep)//2)
xMid.append(dummyX.mean())
yMid.append(dummyY.mean()) # append the statistical mode (most recurring value)
previousStep = currentStep
assign previousStep as currentStep for the next loop
Подробнее здесь: https://stackoverflow.com/questions/785 ... near-regre
Построение только стабильных точек временного ряда и выполнение линейной регрессии ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Построение только стабильных точек временного ряда и выполнение линейной регрессии
Anonymous » » в форуме Python - 0 Ответы
- 35 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Добавление временного ряда должно начинаться на один временной шаг после текущего.
Anonymous » » в форуме Python - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-