Skip to content

Commit 21a2632

Browse files
committed
BUG: add same to_timestamp change to PeriodIndex
1 parent bdd143a commit 21a2632

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

pandas/tseries/period.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -773,12 +773,14 @@ def to_timestamp(self, freq=None, how='start'):
773773
-------
774774
DatetimeIndex
775775
"""
776+
how = _validate_end_alias(how)
777+
776778
if freq is None:
777779
base, mult = _gfc(self.freq)
778-
new_data = self
779-
else:
780-
base, mult = _gfc(freq)
781-
new_data = self.asfreq(freq, how)
780+
freq = _freq_mod.get_to_timestamp_base(base)
781+
782+
base, mult = _gfc(freq)
783+
new_data = self.asfreq(freq, how)
782784

783785
new_data = plib.periodarr_to_dt64arr(new_data.values, base)
784786
return DatetimeIndex(new_data, freq='infer', name=self.name)

pandas/tseries/tests/test_period.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -1202,12 +1202,12 @@ def test_to_timestamp(self):
12021202
series = Series(1, index=index, name='foo')
12031203

12041204
exp_index = date_range('1/1/2001', end='12/31/2009', freq='A-DEC')
1205-
result = series.to_timestamp('D', 'end')
1205+
result = series.to_timestamp(how='end')
12061206
self.assert_(result.index.equals(exp_index))
12071207
self.assertEquals(result.name, 'foo')
12081208

12091209
exp_index = date_range('1/1/2001', end='1/1/2009', freq='AS-DEC')
1210-
result = series.to_timestamp('D', 'start')
1210+
result = series.to_timestamp(how='start')
12111211
self.assert_(result.index.equals(exp_index))
12121212

12131213

@@ -1232,6 +1232,15 @@ def _get_with_delta(delta, freq='A-DEC'):
12321232

12331233
self.assertRaises(ValueError, index.to_timestamp, '5t')
12341234

1235+
index = PeriodIndex(freq='H', start='1/1/2001', end='1/2/2001')
1236+
series = Series(1, index=index, name='foo')
1237+
1238+
exp_index = date_range('1/1/2001 00:59:59', end='1/2/2001 00:59:59',
1239+
freq='H')
1240+
result = series.to_timestamp(how='end')
1241+
self.assert_(result.index.equals(exp_index))
1242+
self.assertEquals(result.name, 'foo')
1243+
12351244
def test_to_timestamp_quarterly_bug(self):
12361245
years = np.arange(1960, 2000).repeat(4)
12371246
quarters = np.tile(range(1, 5), 40)

0 commit comments

Comments
 (0)