Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 具有最小周期的列的滚动秩_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 具有最小周期的列的滚动秩

Python 具有最小周期的列的滚动秩,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个数据框,我想在其中计算滚动排名,窗口=10,最小周期=3 基本代码: df['RHigh'] = df.High.rolling(window=10).apply(lambda x: pd.Series(x).rank(ascending=False).values[-1]) 这很好用。但是如果我加上一个min_periods=3 修订守则: df['RHigh'] = df.High.rolling(window=10, min_periods=3).apply(lambda x:

我有一个数据框,我想在其中计算滚动排名,窗口=10,最小周期=3

基本代码:

df['RHigh'] = df.High.rolling(window=10).apply(lambda x: pd.Series(x).rank(ascending=False).values[-1])
这很好用。但是如果我加上一个min_periods=3

修订守则:

df['RHigh'] = df.High.rolling(window=10, min_periods=3).apply(lambda x: pd.Series(x).rank(ascending=False).values[-1])
它只给我相同的基本代码输出


我遗漏了什么?

它们应该不同,请参见以下内容:

np.random.seed(42)
df = pd.DataFrame({'High': np.random.uniform(0, 1, 100)})

df['RHigh_base'] = df.High.rolling(window=10).apply(
    lambda x: pd.Series(x).rank(ascending=False).values[-1])

df['RHigh_min_periods'] = df.High.rolling(window=10, min_periods=3).apply(
    lambda x: pd.Series(x).rank(ascending=False).values[-1])

df.head()
输出:

       High  RHigh_base  RHigh_min_periods
0  0.374540         NaN                NaN
1  0.950714         NaN                NaN
2  0.731994         NaN                2.0
3  0.598658         NaN                3.0
4  0.156019         NaN                5.0

我发现了我的错误。这是正确的。