Skip to content

Commit 29854b7

Browse files
committed
revert bits
1 parent 1be1709 commit 29854b7

File tree

4 files changed

+11
-76
lines changed

4 files changed

+11
-76
lines changed

pandas/_libs/tslib.pyx

-2
Original file line numberDiff line numberDiff line change
@@ -456,8 +456,6 @@ cpdef array_to_datetime(
456456
np.ndarray
457457
May be datetime64[ns] or object dtype
458458
tzinfo or None
459-
str
460-
Inferred resolution
461459
"""
462460
cdef:
463461
Py_ssize_t i, n = values.size

pandas/_libs/tslibs/strptime.pyx

+3-3
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ from pandas._libs.tslibs.nattype cimport (
5959
)
6060
from pandas._libs.tslibs.np_datetime cimport (
6161
NPY_DATETIMEUNIT,
62-
NPY_FR_ns,
6362
get_datetime64_unit,
6463
import_pandas_datetime,
6564
npy_datetimestruct,
@@ -249,6 +248,7 @@ cdef class DatetimeParseState:
249248
# datetime.
250249
self.found_naive_str = False
251250
self.found_other = False
251+
252252
self.creso = creso
253253
self.creso_ever_changed = False
254254

@@ -305,7 +305,7 @@ def array_strptime(
305305
fmt : string-like regex
306306
exact : matches must be exact if True, search if False
307307
errors : string specifying error handling, {'raise', 'ignore', 'coerce'}
308-
creso : NPY_DATETIMEUNIT, default NPY_FR_ns
308+
creso : NPY_DATETIMEUNIT, default NPY_FR_GENERIC
309309
Set to NPY_FR_GENERIC to infer a resolution.
310310
"""
311311

@@ -627,7 +627,7 @@ cdef tzinfo _parse_with_format(
627627
elif len(s) <= 6:
628628
item_reso[0] = NPY_DATETIMEUNIT.NPY_FR_us
629629
else:
630-
item_reso[0] = NPY_FR_ns
630+
item_reso[0] = NPY_DATETIMEUNIT.NPY_FR_ns
631631
# Pad to always return nanoseconds
632632
s += "0" * (9 - len(s))
633633
us = long(s)

pandas/tests/tslibs/test_array_to_datetime.py

-61
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
tslib,
1616
)
1717
from pandas._libs.tslibs.dtypes import NpyDatetimeUnit
18-
from pandas._libs.tslibs.np_datetime import OutOfBoundsDatetime
1918

2019
from pandas import Timestamp
2120
import pandas._testing as tm
@@ -307,63 +306,3 @@ def test_datetime_subclass(data, expected):
307306

308307
expected = np.array(expected, dtype="M8[us]")
309308
tm.assert_numpy_array_equal(result, expected)
310-
311-
312-
class TestArrayToDatetimeResolutionInference:
313-
# TODO: tests that include tzs, ints
314-
315-
def test_infer_homogeoneous_datetimes(self):
316-
dt = datetime(2023, 10, 27, 18, 3, 5, 678000)
317-
arr = np.array([dt, dt, dt], dtype=object)
318-
result, tz = tslib.array_to_datetime(arr, creso=creso_infer)
319-
assert tz is None
320-
expected = np.array([dt, dt, dt], dtype="M8[us]")
321-
tm.assert_numpy_array_equal(result, expected)
322-
323-
def test_infer_homogeoneous_date_objects(self):
324-
dt = datetime(2023, 10, 27, 18, 3, 5, 678000)
325-
dt2 = dt.date()
326-
arr = np.array([None, dt2, dt2, dt2], dtype=object)
327-
result, tz = tslib.array_to_datetime(arr, creso=creso_infer)
328-
assert tz is None
329-
expected = np.array([np.datetime64("NaT"), dt2, dt2, dt2], dtype="M8[s]")
330-
tm.assert_numpy_array_equal(result, expected)
331-
332-
def test_infer_homogeoneous_dt64(self):
333-
dt = datetime(2023, 10, 27, 18, 3, 5, 678000)
334-
dt64 = np.datetime64(dt, "ms")
335-
arr = np.array([None, dt64, dt64, dt64], dtype=object)
336-
result, tz = tslib.array_to_datetime(arr, creso=creso_infer)
337-
assert tz is None
338-
expected = np.array([np.datetime64("NaT"), dt64, dt64, dt64], dtype="M8[ms]")
339-
tm.assert_numpy_array_equal(result, expected)
340-
341-
def test_infer_homogeoneous_timestamps(self):
342-
dt = datetime(2023, 10, 27, 18, 3, 5, 678000)
343-
ts = Timestamp(dt).as_unit("ns")
344-
arr = np.array([None, ts, ts, ts], dtype=object)
345-
result, tz = tslib.array_to_datetime(arr, creso=creso_infer)
346-
assert tz is None
347-
expected = np.array([np.datetime64("NaT")] + [ts.asm8] * 3, dtype="M8[ns]")
348-
tm.assert_numpy_array_equal(result, expected)
349-
350-
def test_infer_homogeoneous_datetimes_strings(self):
351-
item = "2023-10-27 18:03:05.678000"
352-
arr = np.array([None, item, item, item], dtype=object)
353-
result, tz = tslib.array_to_datetime(arr, creso=creso_infer)
354-
assert tz is None
355-
expected = np.array([np.datetime64("NaT"), item, item, item], dtype="M8[us]")
356-
tm.assert_numpy_array_equal(result, expected)
357-
358-
def test_infer_heterogeneous(self):
359-
dtstr = "2023-10-27 18:03:05.678000"
360-
361-
arr = np.array([dtstr, dtstr[:-3], dtstr[:-7], None], dtype=object)
362-
result, tz = tslib.array_to_datetime(arr, creso=creso_infer)
363-
assert tz is None
364-
expected = np.array(arr, dtype="M8[us]")
365-
tm.assert_numpy_array_equal(result, expected)
366-
367-
result, tz = tslib.array_to_datetime(arr[::-1], creso=creso_infer)
368-
assert tz is None
369-
tm.assert_numpy_array_equal(result, expected[::-1])

pandas/tests/util/test_hashing.py

+8-10
Original file line numberDiff line numberDiff line change
@@ -243,16 +243,14 @@ def test_categorical_consistency(s1, categorize):
243243
tm.assert_series_equal(h1, h3)
244244

245245

246-
def test_categorical_with_nan_consistency():
247-
c = pd.Categorical.from_codes(
248-
[-1, 0, 1, 2, 3, 4], categories=pd.date_range("2012-01-01", periods=5, name="B")
249-
)
250-
expected = hash_array(c, categorize=False)
251-
252-
c = pd.Categorical.from_codes(
253-
[-1, 0], categories=[pd.Timestamp("2012-01-01").as_unit("ns")]
254-
)
255-
result = hash_array(c, categorize=False)
246+
def test_categorical_with_nan_consistency(unit):
247+
dti = pd.date_range("2012-01-01", periods=5, name="B", unit=unit)
248+
cat = pd.Categorical.from_codes([-1, 0, 1, 2, 3, 4], categories=dti)
249+
expected = hash_array(cat, categorize=False)
250+
251+
ts = pd.Timestamp("2012-01-01").as_unit(unit)
252+
cat2 = pd.Categorical.from_codes([-1, 0], categories=[ts])
253+
result = hash_array(cat2, categorize=False)
256254

257255
assert result[0] in expected
258256
assert result[1] in expected

0 commit comments

Comments
 (0)