1
1
import numpy as np
2
2
import pytest
3
3
4
- import pandas as pd
5
- from pandas import DataFrame , Index , Series , Timestamp , concat
4
+ from pandas import (
5
+ DataFrame ,
6
+ Index ,
7
+ MultiIndex ,
8
+ Period ,
9
+ Series ,
10
+ Timestamp ,
11
+ concat ,
12
+ date_range ,
13
+ timedelta_range ,
14
+ )
6
15
import pandas ._testing as tm
7
16
from pandas .core .base import SpecificationError
8
17
@@ -78,7 +87,7 @@ def test_agg():
78
87
79
88
result = r .aggregate ([np .mean , np .std ])
80
89
expected = concat ([a_mean , a_std , b_mean , b_std ], axis = 1 )
81
- expected .columns = pd . MultiIndex .from_product ([["A" , "B" ], ["mean" , "std" ]])
90
+ expected .columns = MultiIndex .from_product ([["A" , "B" ], ["mean" , "std" ]])
82
91
tm .assert_frame_equal (result , expected )
83
92
84
93
result = r .aggregate ({"A" : np .mean , "B" : np .std })
@@ -88,7 +97,7 @@ def test_agg():
88
97
89
98
result = r .aggregate ({"A" : ["mean" , "std" ]})
90
99
expected = concat ([a_mean , a_std ], axis = 1 )
91
- expected .columns = pd . MultiIndex .from_tuples ([("A" , "mean" ), ("A" , "std" )])
100
+ expected .columns = MultiIndex .from_tuples ([("A" , "mean" ), ("A" , "std" )])
92
101
tm .assert_frame_equal (result , expected )
93
102
94
103
result = r ["A" ].aggregate (["mean" , "sum" ])
@@ -110,7 +119,7 @@ def test_agg():
110
119
expected = concat ([a_mean , a_std , b_mean , b_std ], axis = 1 )
111
120
112
121
exp_cols = [("A" , "mean" ), ("A" , "std" ), ("B" , "mean" ), ("B" , "std" )]
113
- expected .columns = pd . MultiIndex .from_tuples (exp_cols )
122
+ expected .columns = MultiIndex .from_tuples (exp_cols )
114
123
tm .assert_frame_equal (result , expected , check_like = True )
115
124
116
125
@@ -134,15 +143,15 @@ def test_agg_consistency():
134
143
r = df .rolling (window = 3 )
135
144
136
145
result = r .agg ([np .sum , np .mean ]).columns
137
- expected = pd . MultiIndex .from_product ([list ("AB" ), ["sum" , "mean" ]])
146
+ expected = MultiIndex .from_product ([list ("AB" ), ["sum" , "mean" ]])
138
147
tm .assert_index_equal (result , expected )
139
148
140
149
result = r ["A" ].agg ([np .sum , np .mean ]).columns
141
150
expected = Index (["sum" , "mean" ])
142
151
tm .assert_index_equal (result , expected )
143
152
144
153
result = r .agg ({"A" : [np .sum , np .mean ]}).columns
145
- expected = pd . MultiIndex .from_tuples ([("A" , "sum" ), ("A" , "mean" )])
154
+ expected = MultiIndex .from_tuples ([("A" , "sum" ), ("A" , "mean" )])
146
155
tm .assert_index_equal (result , expected )
147
156
148
157
@@ -159,7 +168,7 @@ def test_agg_nested_dicts():
159
168
expected = concat (
160
169
[r ["A" ].mean (), r ["A" ].std (), r ["B" ].mean (), r ["B" ].std ()], axis = 1
161
170
)
162
- expected .columns = pd . MultiIndex .from_tuples (
171
+ expected .columns = MultiIndex .from_tuples (
163
172
[("ra" , "mean" ), ("ra" , "std" ), ("rb" , "mean" ), ("rb" , "std" )]
164
173
)
165
174
with pytest .raises (SpecificationError , match = msg ):
@@ -191,21 +200,21 @@ def test_count_nonnumeric_types():
191
200
"int" : [1 , 2 , 3 ],
192
201
"float" : [4.0 , 5.0 , 6.0 ],
193
202
"string" : list ("abc" ),
194
- "datetime" : pd . date_range ("20170101" , periods = 3 ),
195
- "timedelta" : pd . timedelta_range ("1 s" , periods = 3 , freq = "s" ),
203
+ "datetime" : date_range ("20170101" , periods = 3 ),
204
+ "timedelta" : timedelta_range ("1 s" , periods = 3 , freq = "s" ),
196
205
"periods" : [
197
- pd . Period ("2012-01" ),
198
- pd . Period ("2012-02" ),
199
- pd . Period ("2012-03" ),
206
+ Period ("2012-01" ),
207
+ Period ("2012-02" ),
208
+ Period ("2012-03" ),
200
209
],
201
210
"fl_inf" : [1.0 , 2.0 , np .Inf ],
202
211
"fl_nan" : [1.0 , 2.0 , np .NaN ],
203
212
"str_nan" : ["aa" , "bb" , np .NaN ],
204
213
"dt_nat" : dt_nat_col ,
205
214
"periods_nat" : [
206
- pd . Period ("2012-01" ),
207
- pd . Period ("2012-02" ),
208
- pd . Period (None ),
215
+ Period ("2012-01" ),
216
+ Period ("2012-02" ),
217
+ Period (None ),
209
218
],
210
219
},
211
220
columns = cols ,
@@ -298,11 +307,11 @@ def test_multiple_agg_funcs(func, window_size, expected_vals):
298
307
else :
299
308
window = f ()
300
309
301
- index = pd . MultiIndex .from_tuples (
310
+ index = MultiIndex .from_tuples (
302
311
[("A" , 0 ), ("A" , 1 ), ("A" , 2 ), ("B" , 3 ), ("B" , 4 ), ("B" , 5 ), ("B" , 6 )],
303
312
names = ["stock" , None ],
304
313
)
305
- columns = pd . MultiIndex .from_tuples (
314
+ columns = MultiIndex .from_tuples (
306
315
[("low" , "mean" ), ("low" , "max" ), ("high" , "mean" ), ("high" , "min" )]
307
316
)
308
317
expected = DataFrame (expected_vals , index = index , columns = columns )
0 commit comments