Вы можете мне помочь с этой ошибкой пожалуйста?
Мой код это:
peaks, _ = find_peaks(my_dataset['quality'], height=500)
plt.figure(figsize=(10,8))
x = my_dataset.index
y = my_dataset['quality']
plt.plot(x, y)
plt.plot(peaks, y[peaks], "x")
plt.xlabel('datetime')
plt.ylabel('values')
plt.legend(loc='best')
plt.title('Qualities')
plt.show()
И я получил эту ошибку:
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-57-97109c9c4b15> in <module>
3 y = my_dataset['quality']
4 plt.plot(x, y)
----> 5 plt.plot(peaks, y[peaks], "x")
6
7 plt.xlabel('datetime')
... IndexError: индекс 121383 находится за пределами оси 0 с размером 117111
Что это означает и как его исправить? Что мне написать по-другому?
PS: Мой набор данных выглядит примерно так:
cdf_epoch
2003-10-10 00:01:33.985000+00:00 3.294
2003-10-10 00:10:06.130000+00:00 3.294
2003-10-10 00:18:37.959000+00:00 3.917
2003-10-10 00:27:10.104000+00:00 3.116
2003-10-10 00:35:41.933000+00:00 3.383
...
2003-11-09 23:20:19.140000+00:00 8.636
2003-11-09 23:28:50.969000+00:00 9.170
2003-11-09 23:37:23.113000+00:00 7.301
2003-11-09 23:45:54.943000+00:00 9.170
2003-11-09 23:54:27.087000+00:00 7.657
Массив "peaks" содержит значения всплесков набора данных. Однако это довольно странно, поскольку max (peaks) дает 113940, а max (my_dataset.quality) дает 66790.0. Не должен давать максимум значений пиков?
Массив «пиков» дает значения набора данных, а не индекс. Вот так:
array([ 4112, 4117, 4124, 4126, 4131, 4135, 4137, 4139,
4143, 4146, 4150, 4154, 4156, 4158, 4160, 4164,
4169, 4174, 4176, 4181, 4184, 4186, 4191, 4193, ...
Окончательный результат, который я хочу быть таким: (я отредактировал текущую гистограмму, чтобы увидеть идею). Итак, в конце я просто хочу поставить знак "X" на пики набора данных.
Artisti c представление конечного результата