Skip to content

Commit aa84e00

Browse files
mroeschkejreback
authored andcommitted
CLN: ASV period (#18932)
1 parent 95e79a7 commit aa84e00

File tree

1 file changed

+22
-57
lines changed

1 file changed

+22
-57
lines changed

asv_bench/benchmarks/period.py

+22-57
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,24 @@
1-
import pandas as pd
2-
from pandas import Series, Period, PeriodIndex, date_range
1+
from pandas import (DataFrame, Series, Period, PeriodIndex, date_range,
2+
period_range)
33

44

55
class PeriodProperties(object):
6-
params = ['M', 'min']
7-
param_names = ['freq']
8-
9-
def setup(self, freq):
10-
self.per = Period('2012-06-01', freq=freq)
11-
12-
def time_year(self, freq):
13-
self.per.year
14-
15-
def time_month(self, freq):
16-
self.per.month
17-
18-
def time_day(self, freq):
19-
self.per.day
20-
21-
def time_hour(self, freq):
22-
self.per.hour
23-
24-
def time_minute(self, freq):
25-
self.per.minute
26-
27-
def time_second(self, freq):
28-
self.per.second
29-
30-
def time_is_leap_year(self, freq):
31-
self.per.is_leap_year
326

33-
def time_quarter(self, freq):
34-
self.per.quarter
7+
params = (['M', 'min'],
8+
['year', 'month', 'day', 'hour', 'minute', 'second',
9+
'is_leap_year', 'quarter', 'qyear', 'week', 'daysinmonth',
10+
'dayofweek', 'dayofyear', 'start_time', 'end_time'])
11+
param_names = ['freq', 'attr']
3512

36-
def time_qyear(self, freq):
37-
self.per.qyear
38-
39-
def time_week(self, freq):
40-
self.per.week
41-
42-
def time_daysinmonth(self, freq):
43-
self.per.daysinmonth
44-
45-
def time_dayofweek(self, freq):
46-
self.per.dayofweek
47-
48-
def time_dayofyear(self, freq):
49-
self.per.dayofyear
50-
51-
def time_start_time(self, freq):
52-
self.per.start_time
13+
def setup(self, freq, attr):
14+
self.per = Period('2012-06-01', freq=freq)
5315

54-
def time_end_time(self, freq):
55-
self.per.end_time
16+
def time_property(self, freq, attr):
17+
getattr(self.per, attr)
5618

5719

5820
class PeriodUnaryMethods(object):
21+
5922
params = ['M', 'min']
6023
param_names = ['freq']
6124

@@ -73,6 +36,7 @@ def time_asfreq(self, freq):
7336

7437

7538
class PeriodIndexConstructor(object):
39+
7640
goal_time = 0.2
7741

7842
params = ['D']
@@ -90,19 +54,19 @@ def time_from_pydatetime(self, freq):
9054

9155

9256
class DataFramePeriodColumn(object):
57+
9358
goal_time = 0.2
9459

95-
def setup_cache(self):
96-
rng = pd.period_range(start='1/1/1990', freq='S', periods=20000)
97-
df = pd.DataFrame(index=range(len(rng)))
98-
return rng, df
60+
def setup(self):
61+
self.rng = period_range(start='1/1/1990', freq='S', periods=20000)
62+
self.df = DataFrame(index=range(len(self.rng)))
9963

100-
def time_setitem_period_column(self, tup):
101-
rng, df = tup
102-
df['col'] = rng
64+
def time_setitem_period_column(self):
65+
self.df['col'] = self.rng
10366

10467

10568
class Algorithms(object):
69+
10670
goal_time = 0.2
10771

10872
params = ['index', 'series']
@@ -125,6 +89,7 @@ def time_value_counts(self, typ):
12589

12690

12791
class Indexing(object):
92+
12893
goal_time = 0.2
12994

13095
def setup(self):
@@ -145,7 +110,7 @@ def time_series_loc(self):
145110
self.series.loc[self.period]
146111

147112
def time_align(self):
148-
pd.DataFrame({'a': self.series, 'b': self.series[:500]})
113+
DataFrame({'a': self.series, 'b': self.series[:500]})
149114

150115
def time_intersection(self):
151116
self.index[:750].intersection(self.index[250:])

0 commit comments

Comments
 (0)