@@ -30,29 +30,19 @@ def test_mean_variance_axis0():
30
30
X_lil = sp .lil_matrix (X )
31
31
X_lil [1 , 0 ] = 0
32
32
X [1 , 0 ] = 0
33
- X_csr = sp .csr_matrix (X_lil )
34
-
35
- X_means , X_vars = mean_variance_axis (X_csr , axis = 0 )
36
- assert_array_almost_equal (X_means , np .mean (X , axis = 0 ))
37
- assert_array_almost_equal (X_vars , np .var (X , axis = 0 ))
38
-
39
- X_csc = sp .csc_matrix (X_lil )
40
- X_means , X_vars = mean_variance_axis (X_csc , axis = 0 )
41
33
42
- assert_array_almost_equal (X_means , np .mean (X , axis = 0 ))
43
- assert_array_almost_equal (X_vars , np .var (X , axis = 0 ))
44
34
assert_raises (TypeError , mean_variance_axis , X_lil , axis = 0 )
45
35
46
- X = X . astype ( np . float32 )
47
- X_csr = X_csr . astype ( np . float32 )
48
- X_csc = X_csr . astype (np .float32 )
49
- X_means , X_vars = mean_variance_axis (X_csr , axis = 0 )
50
- assert_array_almost_equal ( X_means , np . mean ( X , axis = 0 ) )
51
- assert_array_almost_equal ( X_vars , np . var ( X , axis = 0 ) )
52
- X_means , X_vars = mean_variance_axis ( X_csc , axis = 0 )
53
- assert_array_almost_equal ( X_means , np . mean ( X , axis = 0 ) )
54
- assert_array_almost_equal (X_vars , np .var (X , axis = 0 ))
55
- assert_raises ( TypeError , mean_variance_axis , X_lil , axis = 0 )
36
+ X_csr = sp . csr_matrix ( X_lil )
37
+ X_csc = sp . csc_matrix ( X_lil )
38
+ for dtype in (np .float32 , np . float64 ):
39
+ for X_sparse in (X_csr , X_csc ):
40
+ X_sparse = X_sparse . astype ( dtype )
41
+ X_means , X_vars = mean_variance_axis ( X_sparse , axis = 0 )
42
+ assert_equal ( X_means . dtype , dtype )
43
+ assert_equal ( X_vars . dtype , dtype )
44
+ assert_array_almost_equal (X_means , np .mean (X , axis = 0 ))
45
+ assert_array_almost_equal ( X_vars , np . var ( X , axis = 0 ) )
56
46
57
47
58
48
def test_mean_variance_axis1 ():
@@ -64,29 +54,19 @@ def test_mean_variance_axis1():
64
54
X_lil = sp .lil_matrix (X )
65
55
X_lil [1 , 0 ] = 0
66
56
X [1 , 0 ] = 0
67
- X_csr = sp .csr_matrix (X_lil )
68
-
69
- X_means , X_vars = mean_variance_axis (X_csr , axis = 1 )
70
- assert_array_almost_equal (X_means , np .mean (X , axis = 1 ))
71
- assert_array_almost_equal (X_vars , np .var (X , axis = 1 ))
72
57
73
- X_csc = sp .csc_matrix (X_lil )
74
- X_means , X_vars = mean_variance_axis (X_csc , axis = 1 )
75
-
76
- assert_array_almost_equal (X_means , np .mean (X , axis = 1 ))
77
- assert_array_almost_equal (X_vars , np .var (X , axis = 1 ))
78
58
assert_raises (TypeError , mean_variance_axis , X_lil , axis = 1 )
79
59
80
- X = X . astype ( np . float32 )
81
- X_csr = X_csr . astype ( np . float32 )
82
- X_csc = X_csr . astype (np .float32 )
83
- X_means , X_vars = mean_variance_axis (X_csr , axis = 1 )
84
- assert_array_almost_equal ( X_means , np . mean ( X , axis = 1 ) )
85
- assert_array_almost_equal ( X_vars , np . var ( X , axis = 1 ) )
86
- X_means , X_vars = mean_variance_axis ( X_csc , axis = 1 )
87
- assert_array_almost_equal ( X_means , np . mean ( X , axis = 1 ) )
88
- assert_array_almost_equal (X_vars , np .var (X , axis = 1 ))
89
- assert_raises ( TypeError , mean_variance_axis , X_lil , axis = 1 )
60
+ X_csr = sp . csr_matrix ( X_lil )
61
+ X_csc = sp . csc_matrix ( X_lil )
62
+ for dtype in (np .float32 , np . float64 ):
63
+ for X_sparse in (X_csr , X_csc ):
64
+ X_sparse = X_sparse . astype ( dtype )
65
+ X_means , X_vars = mean_variance_axis ( X_sparse , axis = 0 )
66
+ assert_equal ( X_means . dtype , dtype )
67
+ assert_equal ( X_vars . dtype , dtype )
68
+ assert_array_almost_equal (X_means , np .mean (X , axis = 0 ))
69
+ assert_array_almost_equal ( X_vars , np . var ( X , axis = 0 ) )
90
70
91
71
92
72
def test_incr_mean_variance_axis ():
@@ -132,34 +112,20 @@ def test_incr_mean_variance_axis():
132
112
X = np .vstack (data_chunks )
133
113
X_lil = sp .lil_matrix (X )
134
114
X_csr = sp .csr_matrix (X_lil )
135
- X_means , X_vars = mean_variance_axis (X_csr , axis )
136
- X_means_incr , X_vars_incr , n_incr = \
137
- incr_mean_variance_axis (X_csr , axis , last_mean , last_var , last_n )
138
- assert_array_almost_equal (X_means , X_means_incr )
139
- assert_array_almost_equal (X_vars , X_vars_incr )
140
- assert_equal (X .shape [axis ], n_incr )
141
-
142
115
X_csc = sp .csc_matrix (X_lil )
143
- X_means , X_vars = mean_variance_axis (X_csc , axis )
144
- assert_array_almost_equal (X_means , X_means_incr )
145
- assert_array_almost_equal (X_vars , X_vars_incr )
146
- assert_equal (X .shape [axis ], n_incr )
147
-
148
- # All data but as float
149
- X = X .astype (np .float32 )
150
- X_csr = X_csr .astype (np .float32 )
151
- X_means , X_vars = mean_variance_axis (X_csr , axis )
152
- X_means_incr , X_vars_incr , n_incr = \
153
- incr_mean_variance_axis (X_csr , axis , last_mean , last_var , last_n )
154
- assert_array_almost_equal (X_means , X_means_incr )
155
- assert_array_almost_equal (X_vars , X_vars_incr )
156
- assert_equal (X .shape [axis ], n_incr )
157
-
158
- X_csc = X_csr .astype (np .float32 )
159
- X_means , X_vars = mean_variance_axis (X_csc , axis )
160
- assert_array_almost_equal (X_means , X_means_incr )
161
- assert_array_almost_equal (X_vars , X_vars_incr )
162
- assert_equal (X .shape [axis ], n_incr )
116
+ for dtype in (np .float32 , np .float64 ):
117
+ X = X .astype (dtype )
118
+ for X_sparse in (X_csr , X_csc ):
119
+ X_sparse = X_sparse .astype (dtype )
120
+ X_means , X_vars = mean_variance_axis (X_sparse , axis )
121
+ X_means_incr , X_vars_incr , n_incr = \
122
+ incr_mean_variance_axis (X_sparse , axis , last_mean ,
123
+ last_var , last_n )
124
+ assert_equal (X_means_incr .dtype , dtype )
125
+ assert_equal (X_vars_incr .dtype , dtype )
126
+ assert_array_almost_equal (X_means , X_means_incr )
127
+ assert_array_almost_equal (X_vars , X_vars_incr )
128
+ assert_equal (X .shape [axis ], n_incr )
163
129
164
130
165
131
def test_mean_variance_illegal_axis ():
0 commit comments