Skip to content

Commit

Permalink
BUG: Redefine IndexOpsMixin.size, fix pandas-dev#25580. (pandas-dev#2…
Browse files Browse the repository at this point in the history
…5584)

Signed-off-by: HE, Tao <sighingnow@gmail.com>
  • Loading branch information
sighingnow authored and jorisvandenbossche committed Mar 11, 2019
1 parent 43b949d commit 6375549
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 2 deletions.
3 changes: 2 additions & 1 deletion doc/source/whatsnew/v0.24.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@ Bug Fixes
- Bug in :meth:`Series.is_unique` where single occurrences of ``NaN`` were not considered unique (:issue:`25180`)
- Bug in :func:`merge` when merging an empty ``DataFrame`` with an ``Int64`` column or a non-empty ``DataFrame`` with an ``Int64`` column that is all ``NaN`` (:issue:`25183`)
- Bug in ``IntervalTree`` where a ``RecursionError`` occurs upon construction due to an overflow when adding endpoints, which also causes :class:`IntervalIndex` to crash during indexing operations (:issue:`25485`)
-
- Bug in :attr:`Series.size` raising for some extension-array-backed ``Series``, rather than returning the size (:issue:`25580`)
- Bug in resampling raising for nullable integer-dtype columns (:issue:`25580`)

.. _whatsnew_0242.contributors:

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

0 comments on commit 6375549

Please sign in to comment.