Python 熊猫滚动最小最大值
如何在数据帧上的大小为n的滚动窗口中找到最大值和最小值之间的第一个,并存储量化值?如果最大值第一,则为1;如果最小值第一,则为0?您可以尝试以下方法:Python 熊猫滚动最小最大值,python,pandas,rolling-computation,Python,Pandas,Rolling Computation,如何在数据帧上的大小为n的滚动窗口中找到最大值和最小值之间的第一个,并存储量化值?如果最大值第一,则为1;如果最小值第一,则为0?您可以尝试以下方法: np.random.seed(124) df = pd.DataFrame({'data':np.random.randint(0,10,25)}) df['First'] = df['data'].rolling(5, min_periods=2).apply(lambda x: x.idxmin()<x.idxmax(), raw=Fa
np.random.seed(124)
df = pd.DataFrame({'data':np.random.randint(0,10,25)})
df['First'] = df['data'].rolling(5, min_periods=2).apply(lambda x: x.idxmin()<x.idxmax(), raw=False)
df['First'] = df['First'].map({1:'Min',0:'Max'})
df
欢迎来到StackOverflow。请花点时间阅读这篇文章,以及如何提供答案,并相应地修改你的问题。这些提示可能也很有用。为什么完全相同的代码给出了错误“apply获得了意外的关键字参数“raw”,而没有raw它给出的“numpy.ndarray”对象没有属性“idxmin”
data First
0 1 NaN
1 7 Min
2 2 Min
3 9 Min
4 0 Max
5 4 Max
6 4 Max
7 5 Max
8 5 Min
9 6 Min
10 9 Min
11 6 Min
12 0 Max
13 8 Max
14 9 Max
15 9 Min
16 0 Min
17 2 Max
18 2 Max
19 1 Max
20 1 Min
21 9 Min
22 1 Min
23 9 Min
24 4 Min