1+ from datetime import datetime
2+
3+ import numpy as np
14import pytest
25
3- from pandas .tests .resample .test_base import (
4- downsample_methods , resample_methods , upsample_methods )
6+ from pandas import DataFrame , Series
7+ from pandas .core .indexes .datetimes import date_range
8+ from pandas .core .indexes .period import period_range
9+
10+ # The various methods we support
11+ downsample_methods = ['min' , 'max' , 'first' , 'last' , 'sum' , 'mean' , 'sem' ,
12+ 'median' , 'prod' , 'var' , 'std' , 'ohlc' , 'quantile' ]
13+ upsample_methods = ['count' , 'size' ]
14+ series_methods = ['nunique' ]
15+ resample_methods = downsample_methods + upsample_methods + series_methods
516
617
718@pytest .fixture (params = downsample_methods )
@@ -20,3 +31,68 @@ def upsample_method(request):
2031def resample_method (request ):
2132 """Fixture for parametrization of Grouper resample methods."""
2233 return request .param
34+
35+
36+ @pytest .fixture
37+ def simple_date_range_series ():
38+ """
39+ Series with date range index and random data for test purposes.
40+ """
41+ def _simple_date_range_series (start , end , freq = 'D' ):
42+ rng = date_range (start , end , freq = freq )
43+ return Series (np .random .randn (len (rng )), index = rng )
44+ return _simple_date_range_series
45+
46+
47+ @pytest .fixture
48+ def simple_period_range_series ():
49+ """
50+ Series with period range index and random data for test purposes.
51+ """
52+ def _simple_period_range_series (start , end , freq = 'D' ):
53+ rng = period_range (start , end , freq = freq )
54+ return Series (np .random .randn (len (rng )), index = rng )
55+ return _simple_period_range_series
56+
57+
58+ @pytest .fixture
59+ def _index_start ():
60+ return datetime (2005 , 1 , 1 )
61+
62+
63+ @pytest .fixture
64+ def _index_end ():
65+ return datetime (2005 , 1 , 10 )
66+
67+
68+ @pytest .fixture
69+ def _index_freq ():
70+ return 'D'
71+
72+
73+ @pytest .fixture
74+ def index (_index_factory , _index_start , _index_end , _index_freq ):
75+ return _index_factory (_index_start , _index_end , freq = _index_freq )
76+
77+
78+ @pytest .fixture
79+ def _static_values (index ):
80+ return np .arange (len (index ))
81+
82+
83+ @pytest .fixture
84+ def series (index , _series_name , _static_values ):
85+ return Series (_static_values , index = index , name = _series_name )
86+
87+
88+ @pytest .fixture
89+ def frame (index , _static_values ):
90+ return DataFrame ({'value' : _static_values }, index = index )
91+
92+
93+ @pytest .fixture (params = [Series , DataFrame ])
94+ def series_and_frame (request , series , frame ):
95+ if request .param == Series :
96+ return series
97+ if request .param == DataFrame :
98+ return frame
0 commit comments