@@ -98,35 +98,23 @@ def test_to_datetime_format_YYYYMMDD(self, cache):
98
98
expected = Series (['20121231' , '20141231' , 'NaT' ], dtype = 'M8[ns]' )
99
99
tm .assert_series_equal (result , expected )
100
100
101
- @pytest .mark .parametrize ('cache' , [True , False ])
102
- def test_to_datetime_format_YYYYMMDD_overflow (self , cache ):
101
+ @pytest .mark .parametrize ("input_s, expected" , [
102
+ # NaN before strings with invalid date values
103
+ [Series (['19801222' , np .nan , '20010012' , '10019999' ]),
104
+ Series ([Timestamp ('19801222' ), np .nan , np .nan , np .nan ])],
105
+ # NaN after strings with invalid date values
106
+ [Series (['19801222' , '20010012' , '10019999' , np .nan ]),
107
+ Series ([Timestamp ('19801222' ), np .nan , np .nan , np .nan ])],
108
+ # NaN before integers with invalid date values
109
+ [Series ([20190813 , np .nan , 20010012 , 20019999 ]),
110
+ Series ([Timestamp ('20190813' ), np .nan , np .nan , np .nan ])],
111
+ # NaN after integers with invalid date values
112
+ [Series ([20190813 , 20010012 , np .nan , 20019999 ]),
113
+ Series ([Timestamp ('20190813' ), np .nan , np .nan , np .nan ])]])
114
+ def test_to_datetime_format_YYYYMMDD_overflow (self , input_s , expected ):
103
115
# GH 25512
104
- # NaN before strings with invalid date values, errors=coerce
105
- s = Series (['19801222' , np .nan , '20010012' , '10019999' ])
106
- result = pd .to_datetime (s , format = '%Y%m%d' , errors = 'coerce' ,
107
- cache = cache )
108
- expected = Series ([Timestamp ('19801222' ), np .nan , np .nan , np .nan ])
109
- assert_series_equal (result , expected )
110
-
111
- # NaN after strings with invalid date values, errors=coerce
112
- s = Series (['19801222' , '20010012' , '10019999' , np .nan ])
113
- result = pd .to_datetime (s , format = '%Y%m%d' , errors = 'coerce' ,
114
- cache = cache )
115
- expected = Series ([Timestamp ('19801222' ), np .nan , np .nan , np .nan ])
116
- assert_series_equal (result , expected )
117
-
118
- # NaN before integers with invalid date values, errors=coerce
119
- s = Series ([20190813 , np .nan , 20010012 , 20019999 ])
120
- result = pd .to_datetime (s , format = '%Y%m%d' , errors = 'coerce' ,
121
- cache = cache )
122
- expected = Series ([Timestamp ('20190813' ), np .nan , np .nan , np .nan ])
123
- assert_series_equal (result , expected )
124
-
125
- # NaN after integers with invalid date values, errors=coerce
126
- s = Series ([20190813 , 20010012 , np .nan , 20019999 ])
127
- result = pd .to_datetime (s , format = '%Y%m%d' , errors = 'coerce' ,
128
- cache = cache )
129
- expected = Series ([Timestamp ('20190813' ), np .nan , np .nan , np .nan ])
116
+ # format='%Y%m%d', errors='coerce'
117
+ result = pd .to_datetime (input_s , format = '%Y%m%d' , errors = 'coerce' )
130
118
assert_series_equal (result , expected )
131
119
132
120
@pytest .mark .parametrize ('cache' , [True , False ])
0 commit comments