有一个可以使用的scipy.signal.argrelextrema
功能ndarray
,但是当我尝试使用它时pandas.Series
,它会返回一个错误.与熊猫一起使用它的正确方法是什么?
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 …
Run Code Online (Sandbox Code Playgroud) 在最大化某些功能的 Numpy 2d 数组中查找行索引的最优雅和最有效的方法是什么?特别是,我需要找到具有给定向量的最大点积的行。说,我有
a = np.array([[1, 2, 3], [3, 2, 1]])
b = np.array([6, 5, 4])
Run Code Online (Sandbox Code Playgroud)
那么结果应该是1
因为np.dot(a[1],b)
大于np.dot(a[0],b)
。