1
1
import numpy as np
2
2
3
+ import pandas as pd
3
4
from pandas import DataFrame
4
5
5
6
try :
6
7
from pandas .util import cache_readonly
7
8
except ImportError :
8
9
from pandas .util .decorators import cache_readonly
9
10
11
+ try :
12
+ from pandas .core .construction import extract_array
13
+ except ImportError :
14
+ extract_array = None
15
+
10
16
11
17
class DataFrameAttributes :
12
18
def setup (self ):
@@ -20,6 +26,33 @@ def time_set_index(self):
20
26
self .df .index = self .cur_index
21
27
22
28
29
+ class SeriesArrayAttribute :
30
+
31
+ params = [["numeric" , "object" , "category" , "datetime64" , "datetime64tz" ]]
32
+ param_names = ["dtype" ]
33
+
34
+ def setup (self , dtype ):
35
+ if dtype == "numeric" :
36
+ self .series = pd .Series ([1 , 2 , 3 ])
37
+ elif dtype == "object" :
38
+ self .series = pd .Series (["a" , "b" , "c" ], dtype = object )
39
+ elif dtype == "category" :
40
+ self .series = pd .Series (["a" , "b" , "c" ], dtype = "category" )
41
+ elif dtype == "datetime64" :
42
+ self .series = pd .Series (pd .date_range ("2013" , periods = 3 ))
43
+ elif dtype == "datetime64tz" :
44
+ self .series = pd .Series (pd .date_range ("2013" , periods = 3 , tz = "UTC" ))
45
+
46
+ def time_array (self , dtype ):
47
+ self .series .array
48
+
49
+ def time_extract_array (self , dtype ):
50
+ extract_array (self .series )
51
+
52
+ def time_extract_array_numpy (self , dtype ):
53
+ extract_array (self .series , extract_numpy = True )
54
+
55
+
23
56
class CacheReadonly :
24
57
def setup (self ):
25
58
class Foo :
0 commit comments