Skip to content

Commit 0bf4532

Browse files
Revert "API: return Index instead of array from datetime field accessors (GH15022)"
This reverts commit dc32350.
1 parent dc32350 commit 0bf4532

File tree

5 files changed

+16
-20
lines changed

5 files changed

+16
-20
lines changed

pandas/tests/indexes/datetimes/test_misc.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -307,5 +307,5 @@ def test_datetimeindex_accessors(self):
307307
def test_nanosecond_field(self):
308308
dti = DatetimeIndex(np.arange(10))
309309

310-
self.assert_index_equal(dti.nanosecond,
311-
pd.Index(np.arange(10, dtype=np.int64)))
310+
self.assert_numpy_array_equal(dti.nanosecond,
311+
np.arange(10, dtype=np.int32))

pandas/tests/indexes/period/test_construction.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ def test_constructor_arrays_negative_year(self):
9191

9292
pindex = PeriodIndex(year=years, quarter=quarters)
9393

94-
self.assert_index_equal(pindex.year, pd.Index(years))
95-
self.assert_index_equal(pindex.quarter, pd.Index(quarters))
94+
self.assert_numpy_array_equal(pindex.year, years)
95+
self.assert_numpy_array_equal(pindex.quarter, quarters)
9696

9797
def test_constructor_invalid_quarters(self):
9898
self.assertRaises(ValueError, PeriodIndex, year=lrange(2000, 2004),

pandas/tests/indexes/period/test_period.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -653,10 +653,10 @@ def test_pindex_fieldaccessor_nat(self):
653653
idx = PeriodIndex(['2011-01', '2011-02', 'NaT',
654654
'2012-03', '2012-04'], freq='D')
655655

656-
exp = Index([2011, 2011, -1, 2012, 2012], dtype=np.int64)
657-
self.assert_index_equal(idx.year, exp)
658-
exp = Index([1, 2, -1, 3, 4], dtype=np.int64)
659-
self.assert_index_equal(idx.month, exp)
656+
exp = np.array([2011, 2011, -1, 2012, 2012], dtype=np.int64)
657+
self.assert_numpy_array_equal(idx.year, exp)
658+
exp = np.array([1, 2, -1, 3, 4], dtype=np.int64)
659+
self.assert_numpy_array_equal(idx.month, exp)
660660

661661
def test_pindex_qaccess(self):
662662
pi = PeriodIndex(['2Q05', '3Q05', '4Q05', '1Q06', '2Q06'], freq='Q')

pandas/tseries/index.py

+6-9
Original file line numberDiff line numberDiff line change
@@ -77,19 +77,16 @@ def f(self):
7777

7878
result = tslib.get_start_end_field(values, field, self.freqstr,
7979
month_kw)
80-
result = self._maybe_mask_results(result, convert='float64')
81-
8280
elif field in ['weekday_name']:
8381
result = tslib.get_date_name_field(values, field)
84-
result = self._maybe_mask_results(result)
82+
return self._maybe_mask_results(result)
8583
elif field in ['is_leap_year']:
8684
# no need to mask NaT
87-
result = tslib.get_date_field(values, field)
85+
return tslib.get_date_field(values, field)
8886
else:
8987
result = tslib.get_date_field(values, field)
90-
result = self._maybe_mask_results(result, convert='float64')
9188

92-
return Index(result)
89+
return self._maybe_mask_results(result, convert='float64')
9390

9491
f.__name__ = name
9592
f.__doc__ = docstring
@@ -1916,9 +1913,9 @@ def to_julian_date(self):
19161913
"""
19171914

19181915
# http://mysite.verizon.net/aesir_research/date/jdalg2.htm
1919-
year = np.asarray(self.year)
1920-
month = np.asarray(self.month)
1921-
day = np.asarray(self.day)
1916+
year = self.year
1917+
month = self.month
1918+
day = self.day
19221919
testarr = month < 3
19231920
year[testarr] -= 1
19241921
month[testarr] += 12

pandas/tseries/period.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,7 @@
5252
def _field_accessor(name, alias, docstring=None):
5353
def f(self):
5454
base, mult = _gfc(self.freq)
55-
result = get_period_field_arr(alias, self._values, base)
56-
return Index(result)
55+
return get_period_field_arr(alias, self._values, base)
5756
f.__name__ = name
5857
f.__doc__ = docstring
5958
return property(f)
@@ -586,7 +585,7 @@ def to_datetime(self, dayfirst=False):
586585
@property
587586
def is_leap_year(self):
588587
""" Logical indicating if the date belongs to a leap year """
589-
return tslib._isleapyear_arr(np.asarray(self.year))
588+
return tslib._isleapyear_arr(self.year)
590589

591590
@property
592591
def start_time(self):

0 commit comments

Comments
 (0)