Skip to content

Commit 51250cc

Browse files
committed
ENH: add to_datetime method to Index, close #208
1 parent a89d991 commit 51250cc

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

pandas/core/index.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,13 @@ def astype(self, dtype):
110110
return Index(self.values.astype(dtype), name=self.name,
111111
dtype=dtype)
112112

113+
def to_datetime(self):
114+
"""
115+
For an Index containing strings or datetime.datetime objects, attempt
116+
conversion to DatetimeIndex
117+
"""
118+
return DatetimeIndex(self.values)
119+
113120
@property
114121
def dtype(self):
115122
return self.values.dtype
@@ -1397,7 +1404,7 @@ def _mpl_repr(self):
13971404
def __repr__(self):
13981405
if self.offset is not None:
13991406
output = str(self.__class__) + '\n'
1400-
output += 'offset: %s, timezone: %s\n' % (self.offset, self.tz)
1407+
output += 'freq: %s, timezone: %s\n' % (self.offset, self.tz)
14011408
if len(self) > 0:
14021409
output += '[%s, ..., %s]\n' % (self[0], self[-1])
14031410
output += 'length: %d' % len(self)

pandas/tests/test_timeseries.py

+5
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,12 @@ def test_string_na_nat_conversion(self):
376376
assert_series_equal(dresult, expected)
377377
self.assertEquals(dresult.name, 'foo')
378378

379+
def test_index_to_datetime(self):
380+
idx = Index(['1/1/2000', '1/2/2000', '1/3/2000'])
379381

382+
result = idx.to_datetime()
383+
expected = DatetimeIndex(datetools.to_datetime(idx.values))
384+
self.assert_(result.equals(expected))
380385

381386
def _skip_if_no_pytz():
382387
try:

0 commit comments

Comments
 (0)