Skip to content

Commit 6bf2148

Browse files
committed
fix perf
1 parent 7fcd4e5 commit 6bf2148

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

pandas/_libs/src/inference.pyx

+2-3
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ def infer_dtype(object value):
442442
cpdef object infer_datetimelike_array(object arr):
443443
"""
444444
infer if we have a datetime or timedelta array
445-
- date: we have *only* date and myabe strings, nulls
445+
- date: we have *only* date and maybe strings, nulls
446446
- datetime: we have *only* datetimes and maybe strings, nulls
447447
- timedelta: we have *only* timedeltas and maybe strings, nulls
448448
- nat: we do not have *any* date, datetimes or timedeltas, but do have
@@ -476,7 +476,7 @@ cpdef object infer_datetimelike_array(object arr):
476476

477477
elif util._checknull(v):
478478
# nan or None
479-
seen_null = 1
479+
pass
480480
elif v is NaT:
481481
seen_nat = 1
482482
elif is_datetime(v) or util.is_datetime64_object(v):
@@ -516,7 +516,6 @@ cpdef object infer_datetimelike_array(object arr):
516516
return 'mixed'
517517

518518

519-
520519
cdef inline bint is_null_datetimelike(v):
521520
# determine if we have a null for a timedelta/datetime (or integer
522521
# versions)

pandas/tests/frame/test_misc_api.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -330,12 +330,12 @@ def test_empty_nonzero(self):
330330

331331
def test_with_datetimelikes(self):
332332

333-
df = DataFrame({'A': date_range('20130101', periods=2),
334-
'B': timedelta_range('1 day', periods=2)})
333+
df = DataFrame({'A': date_range('20130101', periods=10),
334+
'B': timedelta_range('1 day', periods=10)})
335335
t = df.T
336336

337337
result = t.get_dtype_counts()
338-
expected = Series({'object': 2})
338+
expected = Series({'object': 10})
339339
tm.assert_series_equal(result, expected)
340340

341341
def test_inplace_return_self(self):

pandas/types/cast.py

+4
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,10 @@ def maybe_infer_to_datetimelike(value, convert_dates=False):
774774
if not v.ndim == 1:
775775
v = v.ravel()
776776

777+
# we only care about object dtypes
778+
if not is_object_dtype(v):
779+
return value
780+
777781
if len(v):
778782

779783
def _try_datetime(v):

0 commit comments

Comments
 (0)