#python #numpy #scipy #syntax-error
#python #numpy #scipy #синтаксическая ошибка
Вопрос:
Я пытаюсь find_peaks из scipy.signal для обнаружения пиков и впадин в Python 3.7
import pandas as pd
from scipy.signal import find_peaks
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_excel('a44171.xlsx',header=None)
df.columns = ['II','PLETH','ABP']
ppg = df["PLETH"]
series = np.array(ppg)
fs = 1/60
t = np.array([t*fs for t in range(len(series))])
peak_idx, _ = find_peaks(series, distance=60)
valley_idx, _ = find_peaks(-series, distance=60)
timedelay = peak_idx - valley_idx
Я получаю следующую ошибку :
ValueError: operands could not be broadcast together with shapes (122,) (112,)
Я думаю, есть некоторые недостающие пики, поэтому размеры разные.
Есть ли какой-либо код, который я мог бы добавить, чтобы исправить ошибку?
Пожалуйста, помогите! Я новичок в программировании на Python.
Комментарии:
1. Изучите данные и решите для себя, как вы хотите связать индексы пика и долины.
2. @hpaulj — Спасибо за ответ. Я должен удалить некоторые элементы из массива, чтобы размеры были одинаковыми. Есть ли какой-либо код, который я мог бы добавить для устранения ошибки?