Skip to content

BUG: Redefine IndexOpsMixin.size, fix #25580. #25584

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Mar 11, 2019
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions doc/source/whatsnew/v0.24.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ Fixed Regressions
- Fixed regression in ``IntervalDtype`` construction where passing an incorrect string with 'Interval' as a prefix could result in a ``RecursionError``. (:issue:`25338`)
- Fixed regression in :class:`Categorical`, where constructing it from a categorical ``Series`` and an explicit ``categories=`` that differed from that in the ``Series`` created an invalid object which could trigger segfaults. (:issue:`25318`)
- Fixed pip installing from source into an environment without NumPy (:issue:`25193`)
- Fixed bug where :meth:`Index.size` could not return correct result for :class:`api.extensions.ExtensionArray` (:issue:`25580`)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not correct, it raised previously ot 'returned an incorrect value'

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is also a bug fix and not a regression, can you move to the appopriate section (bug fixes numeric is ok)

Copy link
Contributor

@jreback jreback Mar 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually move to resampling bug fixes is good (you could mention that in the whatsnew note)


.. _whatsnew_0242.enhancements:

Expand Down
2 changes: 1 addition & 1 deletion pandas/core/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -762,7 +762,7 @@ def size(self):
"""
Return the number of elements in the underlying data.
"""
return self._values.size
return len(self._values)

@property
def flags(self):
Expand Down
12 changes: 12 additions & 0 deletions pandas/tests/resample/test_datetime_index.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,18 @@ def test_resample_basic(series, closed, expected):
assert_series_equal(result, expected)


def test_resample_integerarray():
# GH 25580, resample on IntegerArray
ts = pd.Series(range(9),
index=pd.date_range('1/1/2000', periods=9, freq='T'),
dtype='Int64')
result = ts.resample('3T').sum()
expected = Series([3, 12, 21],
index=pd.date_range('1/1/2000', periods=3, freq='3T'),
dtype="Int64")
assert_series_equal(result, expected)


def test_resample_basic_grouper(series):
s = series
result = s.resample('5Min').last()
Expand Down
7 changes: 7 additions & 0 deletions pandas/tests/series/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,13 @@ def test_tab_complete_warning(self, ip):
with provisionalcompleter('ignore'):
list(ip.Completer.completions('s.', 1))

def test_integer_series_size(self):
# GH 25580
s = Series(range(9))
assert s.size == 9
s = Series(range(9), dtype="Int64")
assert s.size == 9


class TestCategoricalSeries(object):

Expand Down