Skip to content

Commit 9148517

Browse files
author
Chris Bertinato
committed
WIP: deprecate internal use of box
1 parent d555526 commit 9148517

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

pandas/core/dtypes/cast.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -793,10 +793,10 @@ def soft_convert_objects(values, datetime=True, numeric=True, timedelta=True,
793793
# Immediate return if coerce
794794
if datetime:
795795
from pandas import to_datetime
796-
return to_datetime(values, errors='coerce', box=False)
796+
return to_datetime(values, errors='coerce').to_numpy()
797797
elif timedelta:
798798
from pandas import to_timedelta
799-
return to_timedelta(values, errors='coerce', box=False)
799+
return to_timedelta(values, errors='coerce').to_numpy()
800800
elif numeric:
801801
from pandas import to_numeric
802802
return to_numeric(values, errors='coerce')

pandas/core/indexes/datetimelike.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,12 @@ def asobject(self):
232232
return self.astype(object)
233233

234234
def _convert_tolerance(self, tolerance, target):
235-
tolerance = np.asarray(to_timedelta(tolerance, box=False))
235+
tolerance = to_timedelta(tolerance)
236+
if isinstance(tolerance, ABCIndexClass):
237+
tolerance = tolerance.to_numpy()
238+
else:
239+
tolerance = np.asarray(tolerance.to_timedelta64())
240+
236241
if target.size != tolerance.size and tolerance.size > 1:
237242
raise ValueError('list-like tolerance size must match '
238243
'target index size')

pandas/io/parsers.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@
1414

1515
import numpy as np
1616

17+
from pandas import DatetimeIndex
18+
1719
import pandas._libs.lib as lib
1820
import pandas._libs.ops as libops
1921
import pandas._libs.parsers as parsers
20-
from pandas._libs.tslibs import parsing
22+
from pandas._libs.tslibs import parsing, Timestamp
2123
import pandas.compat as compat
2224
from pandas.compat import (
2325
PY3, StringIO, lrange, lzip, map, range, string_types, u, zip)
@@ -3120,17 +3122,28 @@ def _get_lines(self, rows=None):
31203122
def _make_date_converter(date_parser=None, dayfirst=False,
31213123
infer_datetime_format=False):
31223124
def converter(*date_cols):
3125+
from pandas.core.dtypes.common import is_datetime64_dtype
31233126
if date_parser is None:
31243127
strs = _concat_date_cols(date_cols)
31253128

31263129
try:
3127-
return tools.to_datetime(
3130+
dti = tools.to_datetime(
31283131
ensure_object(strs),
31293132
utc=None,
31303133
dayfirst=dayfirst,
31313134
errors='ignore',
31323135
infer_datetime_format=infer_datetime_format
31333136
)
3137+
3138+
if isinstance(dti, DatetimeIndex):
3139+
dti = dti.to_pydatetime()
3140+
elif is_datetime64_dtype(dti):
3141+
dti = np.array([Timestamp(ts).to_pydatetime()
3142+
for ts in dti])
3143+
else:
3144+
dti = dti.to_numpy()
3145+
3146+
return dti
31343147
except ValueError:
31353148
return tools.to_datetime(
31363149
parsing.try_parse_dates(strs, dayfirst=dayfirst))

0 commit comments

Comments
 (0)