From 5de8af966d29b545d8c60e9b79d41a090c868c86 Mon Sep 17 00:00:00 2001 From: Andy Hayden Date: Tue, 26 Mar 2013 16:44:28 +0000 Subject: [PATCH] ENH add time to DatetimeIndex --- pandas/tseries/index.py | 7 +++++++ pandas/tseries/tests/test_timeseries.py | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/pandas/tseries/index.py b/pandas/tseries/index.py index 25c94900d159c..841b8c9294950 100644 --- a/pandas/tseries/index.py +++ b/pandas/tseries/index.py @@ -1266,6 +1266,13 @@ def freqstr(self): dayofyear = _field_accessor('dayofyear', 'doy') quarter = _field_accessor('quarter', 'q') + @property + def time(self): + """ + Returns array of datetime.time. The time of the day + """ + return self.map(lambda t: t.time()) + def normalize(self): """ Return DatetimeIndex with times to midnight. Length is unaltered diff --git a/pandas/tseries/tests/test_timeseries.py b/pandas/tseries/tests/test_timeseries.py index b9f653bd51899..9d20f8cf056b0 100644 --- a/pandas/tseries/tests/test_timeseries.py +++ b/pandas/tseries/tests/test_timeseries.py @@ -1778,6 +1778,12 @@ def test_union_with_DatetimeIndex(self): i1.union(i2) # Works i2.union(i1) # Fails with "AttributeError: can't set attribute" + def test_time(self): + rng = pd.date_range('1/1/2000', freq='12min', periods=10) + result = pd.Index(rng).time + expected = [t.time() for t in rng] + self.assert_((result == expected).all()) + class TestLegacySupport(unittest.TestCase): _multiprocess_can_split_ = True