Skip to content
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

Wrong result of pandas.sparse.series.SparseSeries.loc with indexer of length 1 #15447

Closed
toobaz opened this issue Feb 17, 2017 · 1 comment
Closed
Labels
Bug Indexing Related to indexing on series/frames, not to indexes themselves MultiIndex Sparse Sparse Data Type
Milestone

Comments

@toobaz
Copy link
Member

toobaz commented Feb 17, 2017

Code Sample, a copy-pastable example if possible

In [3]: idx = pd.MultiIndex.from_tuples([('A', 0), ('A', 1), ('B', 0), ('C', 0), ('C', 1)])

In [4]: orig = pd.Series([1, np.nan, np.nan, 3, np.nan], index=idx)

In [5]: sparse = orig.to_sparse()

In [6]: sparse.loc[['A']]
Out[6]: 
A   NaN
dtype: float64
BlockIndex
Block locations: array([], dtype=int32)
Block lengths: array([], dtype=int32)

Problem description

It should return as below

Expected Output

In [7]: orig.loc[['A']].to_sparse()
Out[7]: 
A  0    1.0
   1    NaN
dtype: float64
BlockIndex
Block locations: array([0], dtype=int32)
Block lengths: array([1], dtype=int32)

Output of pd.show_versions()

INSTALLED VERSIONS

commit: f65a641
python: 3.5.2.final.0
python-bits: 64
OS: Linux
OS-release: 4.7.0-1-amd64
machine: x86_64
processor:
byteorder: little
LC_ALL: None
LANG: it_IT.utf8
LOCALE: it_IT.UTF-8

pandas: 0.19.0+473.gf65a641
pytest: 3.0.6
pip: 8.1.2
setuptools: 28.0.0
Cython: 0.23.4
numpy: 1.12.0
scipy: 0.18.1
xarray: None
IPython: 5.1.0.dev
sphinx: 1.4.8
patsy: 0.3.0-dev
dateutil: 2.5.3
pytz: 2015.7
blosc: None
bottleneck: 1.2.0
tables: 3.2.2
numexpr: 2.6.0
feather: None
matplotlib: 2.0.0rc2
openpyxl: 2.3.0
xlrd: 1.0.0
xlwt: 1.1.2
xlsxwriter: 0.9.3
lxml: 3.6.4
bs4: 4.5.1
html5lib: 0.999
httplib2: 0.9.1
apiclient: 1.5.2
sqlalchemy: 1.0.15
pymysql: None
psycopg2: None
jinja2: 2.8
s3fs: None
pandas_datareader: 0.2.1

@toobaz toobaz changed the title Wrong result of .loc on pandas.sparse.series.SparseSeries with indexer of length 1 Wrong result of pandas.sparse.series.SparseSeries.loc with indexer of length 1 Feb 17, 2017
toobaz added a commit to toobaz/pandas that referenced this issue Feb 17, 2017
@jreback jreback added Bug Indexing Related to indexing on series/frames, not to indexes themselves MultiIndex Sparse Sparse Data Type labels Feb 18, 2017
@jreback jreback added this to the Next Major Release milestone Feb 18, 2017
@kawochen kawochen mentioned this issue Feb 18, 2017
18 tasks
toobaz added a commit to toobaz/pandas that referenced this issue Feb 20, 2017
@toobaz
Copy link
Member Author

toobaz commented Feb 20, 2017

The bug actually comes from SparseSeries.reindex()

In [8]: sparse.reindex(['A'], level=0)
Out[8]: 
A   NaN
dtype: float64
BlockIndex
Block locations: array([], dtype=int32)
Block lengths: array([], dtype=int32)

PR on its way.

@jreback jreback modified the milestones: 0.20.0, Next Major Release Feb 24, 2017
toobaz added a commit to toobaz/pandas that referenced this issue Mar 3, 2017
@jreback jreback closed this as completed in c52ff68 Mar 7, 2017
AnkurDedania pushed a commit to AnkurDedania/pandas that referenced this issue Mar 21, 2017
closes pandas-dev#15447

Author: Pietro Battiston <me@pietrobattiston.it>

Closes pandas-dev#15461 from toobaz/drop_sparse_reindex and squashes the following commits:

9084246 [Pietro Battiston] Test SparseSeries.reindex with fill_value and nearest
d6a46da [Pietro Battiston] Use _shared_docs for documentation
922c7b0 [Pietro Battiston] Test "copy" argument
af99190 [Pietro Battiston] Whatsnew
7945cb4 [Pietro Battiston] Tests for .loc() and .reindex() on sparse series with MultiIndex
55b99f8 [Pietro Battiston] BUG: Drop faulty and redundant reindex() for SparseSeries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Indexing Related to indexing on series/frames, not to indexes themselves MultiIndex Sparse Sparse Data Type
Projects
None yet
2 participants