1
- from datetime import datetime
2
-
3
1
import numpy as np
4
2
import pytest
5
3
6
4
import pandas as pd
7
- from pandas import DataFrame , Series , to_datetime
5
+ from pandas import DataFrame , Series
8
6
import pandas ._testing as tm
9
7
10
8
@@ -22,42 +20,6 @@ def test_combine_scalar(self):
22
20
expected = pd .Series ([min (i * 10 , 22 ) for i in range (5 )])
23
21
tm .assert_series_equal (result , expected )
24
22
25
- def test_combine_first (self ):
26
- values = tm .makeIntIndex (20 ).values .astype (float )
27
- series = Series (values , index = tm .makeIntIndex (20 ))
28
-
29
- series_copy = series * 2
30
- series_copy [::2 ] = np .NaN
31
-
32
- # nothing used from the input
33
- combined = series .combine_first (series_copy )
34
-
35
- tm .assert_series_equal (combined , series )
36
-
37
- # Holes filled from input
38
- combined = series_copy .combine_first (series )
39
- assert np .isfinite (combined ).all ()
40
-
41
- tm .assert_series_equal (combined [::2 ], series [::2 ])
42
- tm .assert_series_equal (combined [1 ::2 ], series_copy [1 ::2 ])
43
-
44
- # mixed types
45
- index = tm .makeStringIndex (20 )
46
- floats = Series (tm .randn (20 ), index = index )
47
- strings = Series (tm .makeStringIndex (10 ), index = index [::2 ])
48
-
49
- combined = strings .combine_first (floats )
50
-
51
- tm .assert_series_equal (strings , combined .loc [index [::2 ]])
52
- tm .assert_series_equal (floats [1 ::2 ].astype (object ), combined .loc [index [1 ::2 ]])
53
-
54
- # corner case
55
- s = Series ([1.0 , 2 , 3 ], index = [0 , 1 , 2 ])
56
- empty = Series ([], index = [], dtype = object )
57
- result = s .combine_first (empty )
58
- s .index = s .index .astype ("O" )
59
- tm .assert_series_equal (s , result )
60
-
61
23
def test_update (self ):
62
24
s = Series ([1.5 , np .nan , 3.0 , 4.0 , np .nan ])
63
25
s2 = Series ([np .nan , 3.5 , np .nan , 5.0 ])
@@ -156,24 +118,6 @@ def get_result_type(dtype, dtype2):
156
118
result = pd .concat ([Series (dtype = dtype ), Series (dtype = dtype2 )]).dtype
157
119
assert result .kind == expected
158
120
159
- def test_combine_first_dt_tz_values (self , tz_naive_fixture ):
160
- ser1 = pd .Series (
161
- pd .DatetimeIndex (["20150101" , "20150102" , "20150103" ], tz = tz_naive_fixture ),
162
- name = "ser1" ,
163
- )
164
- ser2 = pd .Series (
165
- pd .DatetimeIndex (["20160514" , "20160515" , "20160516" ], tz = tz_naive_fixture ),
166
- index = [2 , 3 , 4 ],
167
- name = "ser2" ,
168
- )
169
- result = ser1 .combine_first (ser2 )
170
- exp_vals = pd .DatetimeIndex (
171
- ["20150101" , "20150102" , "20150103" , "20160515" , "20160516" ],
172
- tz = tz_naive_fixture ,
173
- )
174
- exp = pd .Series (exp_vals , name = "ser1" )
175
- tm .assert_series_equal (exp , result )
176
-
177
121
def test_concat_empty_series_dtypes (self ):
178
122
179
123
# booleans
@@ -250,17 +194,3 @@ def test_concat_empty_series_dtypes(self):
250
194
# TODO: release-note: concat sparse dtype
251
195
expected = pd .SparseDtype ("object" )
252
196
assert result .dtype == expected
253
-
254
- def test_combine_first_dt64 (self ):
255
-
256
- s0 = to_datetime (Series (["2010" , np .NaN ]))
257
- s1 = to_datetime (Series ([np .NaN , "2011" ]))
258
- rs = s0 .combine_first (s1 )
259
- xp = to_datetime (Series (["2010" , "2011" ]))
260
- tm .assert_series_equal (rs , xp )
261
-
262
- s0 = to_datetime (Series (["2010" , np .NaN ]))
263
- s1 = Series ([np .NaN , "2011" ])
264
- rs = s0 .combine_first (s1 )
265
- xp = Series ([datetime (2010 , 1 , 1 ), "2011" ])
266
- tm .assert_series_equal (rs , xp )
0 commit comments