Мне интересно узнать, как долго загрузка процессора моей системы оставалась на уровне 70% или выше. Мой пример данных выглядит как ниже. Полные данные здесь
Time CPUDemandPercentage
2019-03-06 03:55:00 40.17
2019-03-06 14:15:00 77.33
2019-03-06 14:20:00 79.66
Чтобы достичь того, чего я хочу, я изучил следующие вещи. Я пытался:
- определить местоположение пика
- определить ширину пика
import numpy as np
import matplotlib.pyplot as plt
import scipy.signal
from pandas import read_csv
data=read_csv('data.csv',header=0,usecols=["CPUDemandPercentage"])
y = np.array(data['CPUDemandPercentage'])
indexes = scipy.signal.find_peaks_cwt(y, np.arange(1, 4))
plt.plot(indexes, y[indexes], "xr"); plt.plot(y); plt.legend(['Peaks'])
plt.show()
Это дает мне график
- Это не очень точно, отрицательные пики не показаны. как я могу повысить точность здесь.
- Также как я нахожу ширину пиков.
Я здесь не в курсе. Может ли кто-нибудь помочь мне.