gpt4 book ai didi

python - 从 pandas.Series 中选择局部最小值和最大值

转载 作者:太空狗 更新时间:2023-10-29 18:25:36 25 4
gpt4 key购买 nike

有一个scipy.signal.argrelextremandarray 一起使用的函数,但是当我尝试在 pandas.Series 上使用它时,它返回错误。将它与 pandas 一起使用的正确方法是什么?

import numpy as np
import pandas as pd
from scipy.signal import argrelextrema
s = pd.Series(randn(10), range(10))
s
argrelextrema(s, np.greater)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-13-f3812e58bbe4> in <module>()
4 s = pd.Series(randn(10), range(10))
5 s
----> 6 argrelextrema(s, np.greater)

/usr/lib/python2.7/dist-packages/scipy/signal/_peak_finding.pyc in argrelextrema(data, comparator, axis, order, mode)
222 """
223 results = _boolrelextrema(data, comparator,
--> 224 axis, order, mode)
225 return np.where(results)
226

/usr/lib/python2.7/dist-packages/scipy/signal/_peak_finding.pyc in _boolrelextrema(data, comparator, axis, order, mode)
60
61 results = np.ones(data.shape, dtype=bool)
---> 62 main = data.take(locs, axis=axis, mode=mode)
63 for shift in xrange(1, order + 1):
64 plus = data.take(locs + shift, axis=axis, mode=mode)

TypeError: take() got an unexpected keyword argument 'mode'

最佳答案

你可能想像这样使用它,

argrelextrema(s.values, np.greater)

您目前正在使用完整的 pandas 系列,而 argrelextrema 需要一个 nd 数组。 s.values 为您提供 nd.array

关于python - 从 pandas.Series 中选择局部最小值和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27632218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com