Skip to content

Commit f62544a

Browse files
Merge pull request pandas-dev#6 from jbrockmendel/disown2
bits of 24364
2 parents 0eb28e8 + 42dfd30 commit f62544a

File tree

6 files changed

+23
-8
lines changed

6 files changed

+23
-8
lines changed

pandas/core/arrays/period.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -833,7 +833,7 @@ def dt64arr_to_periodarr(data, freq, tz=None):
833833

834834
if not (is_datetime64_ns_dtype(data.dtype) or
835835
is_datetime64tz_dtype(data.dtype)):
836-
raise ValueError('Wrong dtype: %s' % data.dtype)
836+
raise ValueError('Wrong dtype: {dtype}'.format(dtype=data.dtype))
837837

838838
if isinstance(data, ABCIndexClass):
839839
if freq is None:

pandas/core/indexes/datetimes.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1437,11 +1437,11 @@ def date_range(start=None, end=None, periods=None, freq=None, tz=None,
14371437
if freq is None and com._any_none(periods, start, end):
14381438
freq = 'D'
14391439

1440-
result = DatetimeArray._generate_range(
1440+
dtarr = DatetimeArray._generate_range(
14411441
start=start, end=end, periods=periods,
14421442
freq=freq, tz=tz, normalize=normalize,
14431443
closed=closed, **kwargs)
1444-
return DatetimeIndex(result, name=name)
1444+
return DatetimeIndex(dtarr, name=name)
14451445

14461446

14471447
def bdate_range(start=None, end=None, periods=None, freq='B', tz=None,

pandas/core/indexes/timedeltas.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ def _join_i8_wrapper(joinf, **kwargs):
169169
_object_ops = TimedeltaArray._object_ops
170170
_field_ops = TimedeltaArray._field_ops
171171
_datetimelike_ops = TimedeltaArray._datetimelike_ops
172+
_datetimelike_methods = TimedeltaArray._datetimelike_methods
173+
_other_ops = TimedeltaArray._other_ops
172174

173175
# -------------------------------------------------------------------
174176
# Constructors
@@ -790,6 +792,6 @@ def timedelta_range(start=None, end=None, periods=None, freq=None,
790792
freq = 'D'
791793

792794
freq, freq_infer = dtl.maybe_infer_freq(freq)
793-
result = TimedeltaArray._generate_range(start, end, periods, freq,
794-
closed=closed)
795-
return TimedeltaIndex(result, name=name)
795+
tdarr = TimedeltaArray._generate_range(start, end, periods, freq,
796+
closed=closed)
797+
return TimedeltaIndex(tdarr, name=name)

pandas/tests/arrays/test_timedeltas.py

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ def test_copy(self):
3737

3838
arr = TimedeltaArray(data, copy=True)
3939
assert arr._data is not data
40+
assert arr._data.base is not data
4041

4142

4243
class TestTimedeltaArray(object):

pandas/tests/indexes/datetimes/test_construction.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
import pytest
88
import pytz
99

10-
from pandas._libs.tslib import OutOfBoundsDatetime
11-
from pandas._libs.tslibs import conversion
10+
from pandas._libs.tslibs import OutOfBoundsDatetime, conversion
1211

1312
import pandas as pd
1413
from pandas import (

pandas/tests/indexes/datetimes/test_tools.py

+13
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from pandas import (
2525
DataFrame, DatetimeIndex, Index, NaT, Series, Timestamp, compat,
2626
date_range, isna, to_datetime)
27+
from pandas.core.arrays import DatetimeArrayMixin as DatetimeArray
2728
from pandas.core.tools import datetimes as tools
2829
from pandas.util import testing as tm
2930
from pandas.util.testing import assert_series_equal
@@ -246,6 +247,18 @@ def test_to_datetime_parse_timezone_keeps_name(self):
246247

247248

248249
class TestToDatetime(object):
250+
@pytest.mark.parametrize('tz', [None, 'US/Central'])
251+
def test_to_datetime_dtarr(self, tz):
252+
# DatetimeArray
253+
dti = date_range('1965-04-03', periods=19, freq='2W', tz=tz)
254+
arr = DatetimeArray(dti)
255+
256+
result = to_datetime(arr)
257+
assert result is arr
258+
259+
result = to_datetime(arr, box=True)
260+
assert result is arr
261+
249262
def test_to_datetime_pydatetime(self):
250263
actual = pd.to_datetime(datetime(2008, 1, 15))
251264
assert actual == datetime(2008, 1, 15)

0 commit comments

Comments
 (0)