Skip to content

Commit 86f78af

Browse files
mroeschkejreback
authored andcommitted
CLN: ASV panel ctor (#18915)
1 parent 3e160d2 commit 86f78af

File tree

1 file changed

+32
-41
lines changed

1 file changed

+32
-41
lines changed

asv_bench/benchmarks/panel_ctor.py

Lines changed: 32 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,56 @@
1-
from .pandas_vb_common import *
2-
from datetime import timedelta
1+
from datetime import datetime, timedelta
32

3+
from pandas import DataFrame, DatetimeIndex, date_range
44

5-
class Constructors1(object):
6-
goal_time = 0.2
7-
8-
def setup(self):
9-
self.data_frames = {}
10-
self.start = datetime(1990, 1, 1)
11-
self.end = datetime(2012, 1, 1)
12-
for x in range(100):
13-
self.end += timedelta(days=1)
14-
self.dr = np.asarray(date_range(self.start, self.end))
15-
self.df = DataFrame({'a': ([0] * len(self.dr)), 'b': ([1] * len(self.dr)), 'c': ([2] * len(self.dr)), }, index=self.dr)
16-
self.data_frames[x] = self.df
17-
18-
def time_panel_from_dict_all_different_indexes(self):
19-
Panel.from_dict(self.data_frames)
5+
from .pandas_vb_common import Panel, setup # noqa
206

217

22-
class Constructors2(object):
8+
class DifferentIndexes(object):
239
goal_time = 0.2
2410

2511
def setup(self):
2612
self.data_frames = {}
13+
start = datetime(1990, 1, 1)
14+
end = datetime(2012, 1, 1)
2715
for x in range(100):
28-
self.dr = np.asarray(DatetimeIndex(start=datetime(1990, 1, 1), end=datetime(2012, 1, 1), freq='D'))
29-
self.df = DataFrame({'a': ([0] * len(self.dr)), 'b': ([1] * len(self.dr)), 'c': ([2] * len(self.dr)), }, index=self.dr)
30-
self.data_frames[x] = self.df
16+
end += timedelta(days=1)
17+
idx = date_range(start, end)
18+
df = DataFrame({'a': 0, 'b': 1, 'c': 2}, index=idx)
19+
self.data_frames[x] = df
3120

32-
def time_panel_from_dict_equiv_indexes(self):
21+
def time_from_dict(self):
3322
Panel.from_dict(self.data_frames)
3423

3524

36-
class Constructors3(object):
25+
class SameIndexes(object):
26+
3727
goal_time = 0.2
3828

3929
def setup(self):
40-
self.dr = np.asarray(DatetimeIndex(start=datetime(1990, 1, 1), end=datetime(2012, 1, 1), freq='D'))
41-
self.data_frames = {}
42-
for x in range(100):
43-
self.df = DataFrame({'a': ([0] * len(self.dr)), 'b': ([1] * len(self.dr)), 'c': ([2] * len(self.dr)), }, index=self.dr)
44-
self.data_frames[x] = self.df
30+
idx = DatetimeIndex(start=datetime(1990, 1, 1),
31+
end=datetime(2012, 1, 1),
32+
freq='D')
33+
df = DataFrame({'a': 0, 'b': 1, 'c': 2}, index=idx)
34+
self.data_frames = dict(enumerate([df] * 100))
4535

46-
def time_panel_from_dict_same_index(self):
36+
def time_from_dict(self):
4737
Panel.from_dict(self.data_frames)
4838

4939

50-
class Constructors4(object):
40+
class TwoIndexes(object):
41+
5142
goal_time = 0.2
5243

5344
def setup(self):
54-
self.data_frames = {}
55-
self.start = datetime(1990, 1, 1)
56-
self.end = datetime(2012, 1, 1)
57-
for x in range(100):
58-
if (x == 50):
59-
self.end += timedelta(days=1)
60-
self.dr = np.asarray(date_range(self.start, self.end))
61-
self.df = DataFrame({'a': ([0] * len(self.dr)), 'b': ([1] * len(self.dr)), 'c': ([2] * len(self.dr)), }, index=self.dr)
62-
self.data_frames[x] = self.df
63-
64-
def time_panel_from_dict_two_different_indexes(self):
45+
start = datetime(1990, 1, 1)
46+
end = datetime(2012, 1, 1)
47+
df1 = DataFrame({'a': 0, 'b': 1, 'c': 2},
48+
index=DatetimeIndex(start=start, end=end, freq='D'))
49+
end += timedelta(days=1)
50+
df2 = DataFrame({'a': 0, 'b': 1, 'c': 2},
51+
index=DatetimeIndex(start=start, end=end, freq='D'))
52+
dfs = [df1] * 50 + [df2] * 50
53+
self.data_frames = dict(enumerate(dfs))
54+
55+
def time_from_dict(self):
6556
Panel.from_dict(self.data_frames)

0 commit comments

Comments
 (0)