1
- import itertools
2
-
3
1
import numpy as np
4
2
import scipy .sparse
5
- from pandas import (SparseSeries , SparseDataFrame , SparseArray , Series ,
6
- date_range , MultiIndex )
3
+
4
+ import pandas as pd
5
+ from pandas import MultiIndex , Series , SparseArray , date_range
7
6
8
7
9
8
def make_array (size , dense_proportion , fill_value , dtype ):
@@ -25,10 +24,10 @@ def setup(self):
25
24
data = np .random .randn (N )[:- i ]
26
25
idx = rng [:- i ]
27
26
data [100 :] = np .nan
28
- self .series [i ] = SparseSeries ( data , index = idx )
27
+ self .series [i ] = pd . Series ( pd . SparseArray ( data ) , index = idx )
29
28
30
29
def time_series_to_frame (self ):
31
- SparseDataFrame (self .series )
30
+ pd . DataFrame (self .series )
32
31
33
32
34
33
class SparseArrayConstructor :
@@ -51,16 +50,9 @@ def setup(self):
51
50
N = 1000
52
51
self .arr = np .arange (N )
53
52
self .sparse = scipy .sparse .rand (N , N , 0.005 )
54
- self .dict = dict (zip (range (N ), itertools .repeat ([0 ])))
55
-
56
- def time_constructor (self ):
57
- SparseDataFrame (columns = self .arr , index = self .arr )
58
53
59
54
def time_from_scipy (self ):
60
- SparseDataFrame (self .sparse )
61
-
62
- def time_from_dict (self ):
63
- SparseDataFrame (self .dict )
55
+ pd .DataFrame .sparse .from_spmatrix (self .sparse )
64
56
65
57
66
58
class FromCoo :
@@ -71,7 +63,7 @@ def setup(self):
71
63
shape = (100 , 100 ))
72
64
73
65
def time_sparse_series_from_coo (self ):
74
- SparseSeries .from_coo (self .matrix )
66
+ pd . Series . sparse .from_coo (self .matrix )
75
67
76
68
77
69
class ToCoo :
@@ -82,12 +74,12 @@ def setup(self):
82
74
s [100 ] = - 1.0
83
75
s [999 ] = 12.1
84
76
s .index = MultiIndex .from_product ([range (10 )] * 4 )
85
- self .ss = s .to_sparse ( )
77
+ self .ss = s .astype ( "Sparse" )
86
78
87
79
def time_sparse_series_to_coo (self ):
88
- self .ss .to_coo (row_levels = [0 , 1 ],
89
- column_levels = [2 , 3 ],
90
- sort_labels = True )
80
+ self .ss .sparse . to_coo (row_levels = [0 , 1 ],
81
+ column_levels = [2 , 3 ],
82
+ sort_labels = True )
91
83
92
84
93
85
class Arithmetic :
0 commit comments