A Pandas массив данных является двумерным. То есть df.values
является двумерным, даже , когда он имеет только один столбец. В результате, loc_opt_ind
будет содержать индексы x и y (два кортежа; просто напечатайте loc_opt_ind
, чтобы увидеть), которые нельзя использовать для индексации loc_max
. Вы, вероятно, хотите использовать либо df['values'].values
(который превращается в <Series>.values
), либо np.squeeze(df.values)
в качестве ввода. Обратите внимание, что argrelextrema
по-прежнему возвращает кортеж в этом случае, просто одноэлементный, поэтому вам может понадобиться loc_opt_ind[0]
(np.where
имеет похожее поведение).