Skip to content

Commit 8029ba1

Browse files
jbrockmendeljreback
authored andcommitted
CLN: de-duplicate boxing in DTI.get_value (#30819)
1 parent 2c4df98 commit 8029ba1

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

pandas/core/indexes/datetimes.py

+1-9
Original file line numberDiff line numberDiff line change
@@ -641,15 +641,7 @@ def get_value(self, series, key):
641641
know what you're doing
642642
"""
643643

644-
if isinstance(key, datetime):
645-
646-
# needed to localize naive datetimes
647-
if self.tz is not None:
648-
if key.tzinfo is not None:
649-
key = Timestamp(key).tz_convert(self.tz)
650-
else:
651-
key = Timestamp(key).tz_localize(self.tz)
652-
644+
if isinstance(key, (datetime, np.datetime64)):
653645
return self.get_value_maybe_box(series, key)
654646

655647
if isinstance(key, time):

pandas/tests/indexes/datetimes/test_indexing.py

+17
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,23 @@ def test_delete_slice(self):
613613
assert result.freq == expected.freq
614614
assert result.tz == expected.tz
615615

616+
def test_get_value(self):
617+
# specifically make sure we have test for np.datetime64 key
618+
dti = pd.date_range("2016-01-01", periods=3)
619+
620+
arr = np.arange(6, 8)
621+
622+
key = dti[1]
623+
624+
result = dti.get_value(arr, key)
625+
assert result == 7
626+
627+
result = dti.get_value(arr, key.to_pydatetime())
628+
assert result == 7
629+
630+
result = dti.get_value(arr, key.to_datetime64())
631+
assert result == 7
632+
616633
def test_get_loc(self):
617634
idx = pd.date_range("2000-01-01", periods=3)
618635

0 commit comments

Comments
 (0)