Skip to content

Commit 53d7884

Browse files
committed
Period accepts datetime64 value
Added support for `datetime64` value for Period. Fixes #9054.
1 parent 3e7f21c commit 53d7884

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

pandas/src/period.pyx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -710,6 +710,10 @@ cdef class Period(object):
710710
dt = value
711711
if freq is None:
712712
raise ValueError('Must supply freq for datetime value')
713+
elif isinstance(value, np.datetime64):
714+
dt = Timestamp(value)
715+
if freq is None:
716+
raise ValueError('Must supply freq for datetime value')
713717
elif isinstance(value, date):
714718
dt = datetime(year=value.year, month=value.month, day=value.day)
715719
if freq is None:

pandas/tseries/tests/test_period.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,9 @@ def test_period_constructor(self):
226226

227227
i1 = Period(date(2007, 1, 1), freq='M')
228228
i2 = Period(datetime(2007, 1, 1), freq='M')
229+
i3 = Period(np.datetime64('2007-01-01'), freq='M')
229230
self.assertEqual(i1, i2)
231+
self.assertEqual(i2, i3)
230232

231233
i1 = Period('2007-01-01 09:00:00.001')
232234
expected = Period(datetime(2007, 1, 1, 9, 0, 0, 1000), freq='L')

0 commit comments

Comments
 (0)