33import numpy as np
44import pytest
55
6- from pandas import NaT , Series , Timestamp
6+ from pandas import Series , Timestamp
77import pandas ._testing as tm
88
99
1010class TestConvert :
1111 def test_convert (self ):
1212 # GH#10265
13- # Tests: All to nans, coerce, true
14- # Test coercion returns correct type
15- ser = Series (["a" , "b" , "c" ])
16- results = ser ._convert (datetime = True , coerce = True )
17- expected = Series ([NaT ] * 3 )
18- tm .assert_series_equal (results , expected )
19-
20- results = ser ._convert (numeric = True , coerce = True )
21- expected = Series ([np .nan ] * 3 )
22- tm .assert_series_equal (results , expected )
23-
24- expected = Series ([NaT ] * 3 , dtype = np .dtype ("m8[ns]" ))
25- results = ser ._convert (timedelta = True , coerce = True )
26- tm .assert_series_equal (results , expected )
27-
2813 dt = datetime (2001 , 1 , 1 , 0 , 0 )
2914 td = dt - datetime (2000 , 1 , 1 , 0 , 0 )
3015
3116 # Test coercion with mixed types
3217 ser = Series (["a" , "3.1415" , dt , td ])
33- results = ser ._convert (datetime = True , coerce = True )
34- expected = Series ([NaT , NaT , dt , NaT ])
35- tm .assert_series_equal (results , expected )
3618
37- results = ser ._convert (numeric = True , coerce = True )
19+ results = ser ._convert (numeric = True )
3820 expected = Series ([np .nan , 3.1415 , np .nan , np .nan ])
3921 tm .assert_series_equal (results , expected )
4022
41- results = ser ._convert (timedelta = True , coerce = True )
42- expected = Series ([NaT , NaT , NaT , td ], dtype = np .dtype ("m8[ns]" ))
43- tm .assert_series_equal (results , expected )
44-
4523 # Test standard conversion returns original
4624 results = ser ._convert (datetime = True )
4725 tm .assert_series_equal (results , ser )
@@ -116,19 +94,6 @@ def test_convert(self):
11694 datetime (2001 , 1 , 3 , 0 , 0 ),
11795 ]
11896 )
119- s2 = Series (
120- [
121- datetime (2001 , 1 , 1 , 0 , 0 ),
122- datetime (2001 , 1 , 2 , 0 , 0 ),
123- datetime (2001 , 1 , 3 , 0 , 0 ),
124- "foo" ,
125- 1.0 ,
126- 1 ,
127- Timestamp ("20010104" ),
128- "20010105" ,
129- ],
130- dtype = "O" ,
131- )
13297
13398 result = ser ._convert (datetime = True )
13499 expected = Series (
@@ -137,35 +102,12 @@ def test_convert(self):
137102 )
138103 tm .assert_series_equal (result , expected )
139104
140- result = ser ._convert (datetime = True , coerce = True )
141- tm .assert_series_equal (result , expected )
142-
143- expected = Series (
144- [
145- Timestamp ("20010101" ),
146- Timestamp ("20010102" ),
147- Timestamp ("20010103" ),
148- NaT ,
149- NaT ,
150- NaT ,
151- Timestamp ("20010104" ),
152- Timestamp ("20010105" ),
153- ],
154- dtype = "M8[ns]" ,
155- )
156- result = s2 ._convert (datetime = True , numeric = False , timedelta = False , coerce = True )
157- tm .assert_series_equal (result , expected )
158- result = s2 ._convert (datetime = True , coerce = True )
159- tm .assert_series_equal (result , expected )
160-
161- ser = Series (["foo" , "bar" , 1 , 1.0 ], dtype = "O" )
162- result = ser ._convert (datetime = True , coerce = True )
163- expected = Series ([NaT ] * 2 + [Timestamp (1 )] * 2 )
105+ result = ser ._convert (datetime = True )
164106 tm .assert_series_equal (result , expected )
165107
166108 # preserver if non-object
167109 ser = Series ([1 ], dtype = "float32" )
168- result = ser ._convert (datetime = True , coerce = True )
110+ result = ser ._convert (datetime = True )
169111 tm .assert_series_equal (result , ser )
170112
171113 # FIXME: dont leave commented-out
@@ -174,16 +116,6 @@ def test_convert(self):
174116 # result = res._convert(convert_dates=True,convert_numeric=False)
175117 # assert result.dtype == 'M8[ns]'
176118
177- # dateutil parses some single letters into today's value as a date
178- expected = Series ([NaT ])
179- for x in "abcdefghijklmnopqrstuvwxyz" :
180- ser = Series ([x ])
181- result = ser ._convert (datetime = True , coerce = True )
182- tm .assert_series_equal (result , expected )
183- ser = Series ([x .upper ()])
184- result = ser ._convert (datetime = True , coerce = True )
185- tm .assert_series_equal (result , expected )
186-
187119 def test_convert_no_arg_error (self ):
188120 ser = Series (["1.0" , "2" ])
189121 msg = r"At least one of datetime, numeric or timedelta must be True\."
0 commit comments