123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- from datetime import (
- datetime,
- timedelta,
- )
- import numpy as np
- import pytest
- import pandas.util._test_decorators as td
- from pandas import (
- DataFrame,
- Series,
- bdate_range,
- )
- @pytest.fixture(params=[True, False])
- def raw(request):
- """raw keyword argument for rolling.apply"""
- return request.param
- @pytest.fixture(
- params=[
- "sum",
- "mean",
- "median",
- "max",
- "min",
- "var",
- "std",
- "kurt",
- "skew",
- "count",
- "sem",
- ]
- )
- def arithmetic_win_operators(request):
- return request.param
- @pytest.fixture(params=[True, False])
- def center(request):
- return request.param
- @pytest.fixture(params=[None, 1])
- def min_periods(request):
- return request.param
- @pytest.fixture(params=[True, False])
- def parallel(request):
- """parallel keyword argument for numba.jit"""
- return request.param
- # Can parameterize nogil & nopython over True | False, but limiting per
- # https://github.com/pandas-dev/pandas/pull/41971#issuecomment-860607472
- @pytest.fixture(params=[False])
- def nogil(request):
- """nogil keyword argument for numba.jit"""
- return request.param
- @pytest.fixture(params=[True])
- def nopython(request):
- """nopython keyword argument for numba.jit"""
- return request.param
- @pytest.fixture(params=[True, False])
- def adjust(request):
- """adjust keyword argument for ewm"""
- return request.param
- @pytest.fixture(params=[True, False])
- def ignore_na(request):
- """ignore_na keyword argument for ewm"""
- return request.param
- @pytest.fixture(params=[True, False])
- def numeric_only(request):
- """numeric_only keyword argument"""
- return request.param
- @pytest.fixture(params=[pytest.param("numba", marks=td.skip_if_no("numba")), "cython"])
- def engine(request):
- """engine keyword argument for rolling.apply"""
- return request.param
- @pytest.fixture(
- params=[
- pytest.param(("numba", True), marks=td.skip_if_no("numba")),
- ("cython", True),
- ("cython", False),
- ]
- )
- def engine_and_raw(request):
- """engine and raw keyword arguments for rolling.apply"""
- return request.param
- @pytest.fixture(params=["1 day", timedelta(days=1), np.timedelta64(1, "D")])
- def halflife_with_times(request):
- """Halflife argument for EWM when times is specified."""
- return request.param
- @pytest.fixture
- def series():
- """Make mocked series as fixture."""
- arr = np.random.randn(100)
- locs = np.arange(20, 40)
- arr[locs] = np.NaN
- series = Series(arr, index=bdate_range(datetime(2009, 1, 1), periods=100))
- return series
- @pytest.fixture
- def frame():
- """Make mocked frame as fixture."""
- return DataFrame(
- np.random.randn(100, 10),
- index=bdate_range(datetime(2009, 1, 1), periods=100),
- )
- @pytest.fixture(params=[None, 1, 2, 5, 10])
- def step(request):
- """step keyword argument for rolling window operations."""
- return request.param
|