https://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.rolling_quantile.html
我看不到如何在滚动百分比函数中最好地忽略NaN。有人知道吗?
seriestest = pd.Series([1, 5, 7, 2, 4, 6, 9, 3, 8, 10])
并插入nans
seriestest2 = pd.Series([1, 5, np.NaN, 2, 4, np.nan, 9, 3, 8, 10])
现在,在第一个系列中,我使用以下命令获得了预期的输出:
seriestest.rolling(window = 3).quantile(.5)
但是,我希望这样做,并忽略test2系列上的NaN。
seriestest2.rolling(window = 3).quantile(.5)
礼物:
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 8.0
9 8.0
dtype: float64
但是我认为,如果我们可以解析skipna=True
,它会给出类似的结果,这对我不起作用:
0 NaN
1 NaN
2 5.0
3 2.0
4 4.0
5 4.0
6 4.0
7 3.0
8 8.0
9 8.0
dtype: float64
答案 0 :(得分:0)
问题在于拥有void __fastcall TForm::ListBox1Click(TObject *Sender)
{
if (GetKeyState(VK_LBUTTON)) ...
if (GetKeyState(VK_RBUTTON)) ...
}
值将使您的滚动窗口中的元素数少于所需数量(3)。您可以通过设置nan
参数,用rolling
定义有效观察的最小数量。
min_periods
或者,如果您只想将seriestest2.rolling(window=3, min_periods=1).quantile(.5)
的值替换为nan
,则可以使用0
:
fillna