Skip to content

Commit f60d242

Browse files
Clean-up timedelta/period/plotting benchmarks
1 parent 18d9d1c commit f60d242

File tree

3 files changed

+33
-37
lines changed

3 files changed

+33
-37
lines changed

asv_bench/benchmarks/period.py

+21-19
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,33 @@
1+
import pandas as pd
12
from pandas import Series, Period, PeriodIndex, date_range
23

34

4-
class create_period_index_from_date_range(object):
5+
class Constructor(object):
56
goal_time = 0.2
67

7-
def time_period_index(self):
8-
# Simulate irregular PeriodIndex
9-
PeriodIndex(date_range('1985', periods=1000).to_pydatetime(), freq='D')
8+
def setup(self):
9+
self.rng = date_range('1985', periods=1000)
10+
self.rng2 = date_range('1985', periods=1000).to_pydatetime()
11+
12+
def time_from_date_range(self):
13+
PeriodIndex(self.rng, freq='D')
1014

15+
def time_from_pydatetime(self):
16+
PeriodIndex(self.rng2, freq='D')
1117

12-
class period_setitem(object):
18+
19+
class DataFrame(object):
1320
goal_time = 0.2
1421

1522
def setup(self):
16-
self.N = 100000
17-
self.rng = date_range(start='1/1/2000', periods=self.N, freq='T')
18-
if hasattr(Series, 'convert'):
19-
Series.resample = Series.convert
20-
self.ts = Series(np.random.randn(self.N), index=self.rng)
21-
self.rng = period_range(start='1/1/1990', freq='S', periods=20000)
22-
self.df = DataFrame(index=range(len(self.rng)))
23-
24-
def time_period_setitem(self):
23+
self.rng = pd.period_range(start='1/1/1990', freq='S', periods=20000)
24+
self.df = pd.DataFrame(index=range(len(self.rng)))
25+
26+
def time_setitem_period_column(self):
2527
self.df['col'] = self.rng
2628

2729

28-
class period_algorithm(object):
30+
class Algorithms(object):
2931
goal_time = 0.2
3032

3133
def setup(self):
@@ -34,16 +36,16 @@ def setup(self):
3436
self.s = Series(data * 1000)
3537
self.i = PeriodIndex(data, freq='M')
3638

37-
def time_period_series_drop_duplicates(self):
39+
def time_drop_duplicates_pseries(self):
3840
self.s.drop_duplicates()
3941

40-
def time_period_index_drop_duplicates(self):
42+
def time_drop_duplicates_pindex(self):
4143
self.i.drop_duplicates()
4244

43-
def time_period_series_value_counts(self):
45+
def time_value_counts_pseries(self):
4446
self.s.value_counts()
4547

46-
def time_period_index_value_counts(self):
48+
def time_value_counts_pindex(self):
4749
self.i.value_counts()
4850

4951

asv_bench/benchmarks/plotting.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def date_range(start=None, end=None, periods=None, freq=None):
77
from pandas.tools.plotting import andrews_curves
88

99

10-
class plot_timeseries_period(object):
10+
class TimeseriesPlotting(object):
1111
goal_time = 0.2
1212

1313
def setup(self):
@@ -17,11 +17,11 @@ def setup(self):
1717
self.M = 5
1818
self.df = DataFrame(np.random.randn(self.N, self.M), index=date_range('1/1/1975', periods=self.N))
1919

20-
def time_plot_timeseries_period(self):
20+
def time_plot_regular(self):
2121
self.df.plot()
2222

2323

24-
class plot_andrews_curves(object):
24+
class Misc(object):
2525
goal_time = 0.6
2626

2727
def setup(self):

asv_bench/benchmarks/timedelta.py

+9-15
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from pandas import to_timedelta, Timestamp
33

44

5-
class Timedelta(object):
5+
class ToTimedelta(object):
66
goal_time = 0.2
77

88
def setup(self):
@@ -12,6 +12,9 @@ def setup(self):
1212
self.arr3 = np.random.randint(0, 60, size=10000)
1313
self.arr3 = ['00:00:{0:02d}'.format(i) for i in self.arr3]
1414

15+
self.arr4 = list(self.arr2)
16+
self.arr4[-1] = 'apple'
17+
1518
def time_convert_int(self):
1619
to_timedelta(self.arr, unit='s')
1720

@@ -21,23 +24,14 @@ def time_convert_string(self):
2124
def time_convert_string_seconds(self):
2225
to_timedelta(self.arr3)
2326

27+
def time_convert_coerce(self):
28+
to_timedelta(self.arr4, errors='coerce')
2429

25-
class timedelta_convert_bad_parse(object):
26-
goal_time = 0.2
27-
28-
def setup(self):
29-
self.arr = np.random.randint(0, 1000, size=10000)
30-
self.arr = ['{0} days'.format(i) for i in self.arr]
31-
self.arr[-1] = 'apple'
32-
33-
def time_timedelta_convert_coerce(self):
34-
to_timedelta(self.arr, errors='coerce')
35-
36-
def time_timedelta_convert_ignore(self):
37-
to_timedelta(self.arr, errors='ignore')
30+
def time_convert_ignore(self):
31+
to_timedelta(self.arr4, errors='ignore')
3832

3933

40-
class timedelta_add_overflow(object):
34+
class Ops(object):
4135
goal_time = 0.2
4236

4337
def setup(self):

0 commit comments

Comments
 (0)