8
8
from pandas import DataFrame , Index , Series , isna
9
9
from pandas .conftest import _get_cython_table_params
10
10
import pandas .util .testing as tm
11
- from pandas .util .testing import assert_frame_equal , assert_series_equal
12
11
13
12
14
13
class TestSeriesApply :
@@ -47,12 +46,12 @@ def test_apply_same_length_inference_bug(self):
47
46
48
47
result = s .apply (f )
49
48
expected = s .map (f )
50
- assert_series_equal (result , expected )
49
+ tm . assert_series_equal (result , expected )
51
50
52
51
s = Series ([1 , 2 , 3 ])
53
52
result = s .apply (f )
54
53
expected = s .map (f )
55
- assert_series_equal (result , expected )
54
+ tm . assert_series_equal (result , expected )
56
55
57
56
def test_apply_dont_convert_dtype (self ):
58
57
s = Series (np .random .randn (10 ))
@@ -184,42 +183,42 @@ def test_transform(self, string_series):
184
183
# ufunc
185
184
result = string_series .transform (np .sqrt )
186
185
expected = f_sqrt .copy ()
187
- assert_series_equal (result , expected )
186
+ tm . assert_series_equal (result , expected )
188
187
189
188
result = string_series .apply (np .sqrt )
190
- assert_series_equal (result , expected )
189
+ tm . assert_series_equal (result , expected )
191
190
192
191
# list-like
193
192
result = string_series .transform ([np .sqrt ])
194
193
expected = f_sqrt .to_frame ().copy ()
195
194
expected .columns = ["sqrt" ]
196
- assert_frame_equal (result , expected )
195
+ tm . assert_frame_equal (result , expected )
197
196
198
197
result = string_series .transform ([np .sqrt ])
199
- assert_frame_equal (result , expected )
198
+ tm . assert_frame_equal (result , expected )
200
199
201
200
result = string_series .transform (["sqrt" ])
202
- assert_frame_equal (result , expected )
201
+ tm . assert_frame_equal (result , expected )
203
202
204
203
# multiple items in list
205
204
# these are in the order as if we are applying both functions per
206
205
# series and then concatting
207
206
expected = pd .concat ([f_sqrt , f_abs ], axis = 1 )
208
207
expected .columns = ["sqrt" , "absolute" ]
209
208
result = string_series .apply ([np .sqrt , np .abs ])
210
- assert_frame_equal (result , expected )
209
+ tm . assert_frame_equal (result , expected )
211
210
212
211
result = string_series .transform (["sqrt" , "abs" ])
213
212
expected .columns = ["sqrt" , "abs" ]
214
- assert_frame_equal (result , expected )
213
+ tm . assert_frame_equal (result , expected )
215
214
216
215
# dict, provide renaming
217
216
expected = pd .concat ([f_sqrt , f_abs ], axis = 1 )
218
217
expected .columns = ["foo" , "bar" ]
219
218
expected = expected .unstack ().rename ("series" )
220
219
221
220
result = string_series .apply ({"foo" : np .sqrt , "bar" : np .abs })
222
- assert_series_equal (result .reindex_like (expected ), expected )
221
+ tm . assert_series_equal (result .reindex_like (expected ), expected )
223
222
224
223
def test_transform_and_agg_error (self , string_series ):
225
224
# we are trying to transform with an aggregator
@@ -317,7 +316,7 @@ def test_replicate_describe(self, string_series):
317
316
]
318
317
)
319
318
)
320
- assert_series_equal (result , expected )
319
+ tm . assert_series_equal (result , expected )
321
320
322
321
def test_reduce (self , string_series ):
323
322
# reductions with named functions
@@ -327,7 +326,7 @@ def test_reduce(self, string_series):
327
326
["sum" , "mean" ],
328
327
name = string_series .name ,
329
328
)
330
- assert_series_equal (result , expected )
329
+ tm . assert_series_equal (result , expected )
331
330
332
331
def test_non_callable_aggregates (self ):
333
332
# test agg using non-callable series attributes
@@ -341,7 +340,7 @@ def test_non_callable_aggregates(self):
341
340
# test when mixed w/ callable reducers
342
341
result = s .agg (["size" , "count" , "mean" ])
343
342
expected = Series (OrderedDict ([("size" , 3.0 ), ("count" , 2.0 ), ("mean" , 1.5 )]))
344
- assert_series_equal (result [expected .index ], expected )
343
+ tm . assert_series_equal (result [expected .index ], expected )
345
344
346
345
@pytest .mark .parametrize (
347
346
"series, func, expected" ,
@@ -516,7 +515,7 @@ def test_map_compat(self):
516
515
s = Series ([True , True , False ], index = [1 , 2 , 3 ])
517
516
result = s .map ({True : "foo" , False : "bar" })
518
517
expected = Series (["foo" , "foo" , "bar" ], index = [1 , 2 , 3 ])
519
- assert_series_equal (result , expected )
518
+ tm . assert_series_equal (result , expected )
520
519
521
520
def test_map_int (self ):
522
521
left = Series ({"a" : 1.0 , "b" : 2.0 , "c" : 3.0 , "d" : 4 })
@@ -547,7 +546,7 @@ def test_map_na_exclusion(self):
547
546
548
547
result = s .map (lambda x : x * 2 , na_action = "ignore" )
549
548
exp = s * 2
550
- assert_series_equal (result , exp )
549
+ tm . assert_series_equal (result , exp )
551
550
552
551
def test_map_dict_with_tuple_keys (self ):
553
552
"""
@@ -572,15 +571,15 @@ def test_map_counter(self):
572
571
counter ["c" ] += 1
573
572
result = s .map (counter )
574
573
expected = Series ([0 , 5 , 1 ], index = [1 , 2 , 3 ])
575
- assert_series_equal (result , expected )
574
+ tm . assert_series_equal (result , expected )
576
575
577
576
def test_map_defaultdict (self ):
578
577
s = Series ([1 , 2 , 3 ], index = ["a" , "b" , "c" ])
579
578
default_dict = defaultdict (lambda : "blank" )
580
579
default_dict [1 ] = "stuff"
581
580
result = s .map (default_dict )
582
581
expected = Series (["stuff" , "blank" , "blank" ], index = ["a" , "b" , "c" ])
583
- assert_series_equal (result , expected )
582
+ tm . assert_series_equal (result , expected )
584
583
585
584
def test_map_dict_subclass_with_missing (self ):
586
585
"""
@@ -596,7 +595,7 @@ def __missing__(self, key):
596
595
dictionary = DictWithMissing ({3 : "three" })
597
596
result = s .map (dictionary )
598
597
expected = Series (["missing" , "missing" , "three" ])
599
- assert_series_equal (result , expected )
598
+ tm . assert_series_equal (result , expected )
600
599
601
600
def test_map_dict_subclass_without_missing (self ):
602
601
class DictWithoutMissing (dict ):
@@ -606,7 +605,7 @@ class DictWithoutMissing(dict):
606
605
dictionary = DictWithoutMissing ({3 : "three" })
607
606
result = s .map (dictionary )
608
607
expected = Series ([np .nan , np .nan , "three" ])
609
- assert_series_equal (result , expected )
608
+ tm . assert_series_equal (result , expected )
610
609
611
610
def test_map_box (self ):
612
611
vals = [pd .Timestamp ("2011-01-01" ), pd .Timestamp ("2011-01-02" )]
@@ -729,11 +728,11 @@ def test_apply_series_on_date_time_index_aware_series(self, dti, exp):
729
728
# Calling apply on a localized time series should not cause an error
730
729
index = dti .tz_localize ("UTC" ).index
731
730
result = pd .Series (index ).apply (lambda x : pd .Series ([1 , 2 ]))
732
- assert_frame_equal (result , exp )
731
+ tm . assert_frame_equal (result , exp )
733
732
734
733
def test_apply_scaler_on_date_time_index_aware_series (self ):
735
734
# GH 25959
736
735
# Calling apply on a localized time series should not cause an error
737
736
series = tm .makeTimeSeries (nper = 30 ).tz_localize ("UTC" )
738
737
result = pd .Series (series .index ).apply (lambda x : 1 )
739
- assert_series_equal (result , pd .Series (np .ones (30 ), dtype = "int64" ))
738
+ tm . assert_series_equal (result , pd .Series (np .ones (30 ), dtype = "int64" ))
0 commit comments