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

Categorical.replace returns unexpected dimensions for length 1 Series #24971

Closed
jseabold opened this issue Jan 28, 2019 · 3 comments · Fixed by #25521
Closed

Categorical.replace returns unexpected dimensions for length 1 Series #24971

jseabold opened this issue Jan 28, 2019 · 3 comments · Fixed by #25521
Labels
Bug Categorical Categorical Data Type

Comments

@jseabold
Copy link
Contributor

The shapes and types of the first two are unexpected. Should they be? Just upgraded to pandas 0.24.0.

pd.Series(pd.Categorical('A', categories=['A', 'B'])).replace({'A': 1, 'B': 2})
# Out[30]:
# 0    [1]
# dtype: object

pd.Series(pd.Categorical(('A', ), categories=['A', 'B'])).replace({'A': 1, 'B': 2})
# Out[31]:
# 0    [1]
# dtype: object

pd.Series(pd.Categorical(('A', 'B'), categories=['A', 'B'])).replace({'A': 1, 'B': 2})
# Out[32]:
# 0    1
# 1    2
# dtype: int64

I expect the first to be an int64 dtype with a shape of (1,). They return a Series with shape (1, 1) and dtype object.

INSTALLED VERSIONS ------------------ commit: None python: 3.7.0.final.0 python-bits: 64 OS: Linux OS-release: 4.4.0-116-generic machine: x86_64 processor: x86_64 byteorder: little LC_ALL: None LANG: en_US.UTF-8 LOCALE: en_US.UTF-8

pandas: 0.24.0
pytest: 4.1.1
pip: 18.1
setuptools: 40.2.0
Cython: None
numpy: 1.15.4
scipy: 1.2.0
pyarrow: None
xarray: None
IPython: 7.2.0
sphinx: None
patsy: None
dateutil: 2.6.1
pytz: 2018.7
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 3.0.2
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml.etree: None
bs4: None
html5lib: None
sqlalchemy: 1.2.15
pymysql: None
psycopg2: 2.7.6.1 (dt dec pq3 ext lo64)
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: None

@jorisvandenbossche
Copy link
Member

@jseabold Thanks for the report!

What version were you using before upgrading? I see this buggy behaviour in 0.23.4 as well.

@jorisvandenbossche jorisvandenbossche added Bug Categorical Categorical Data Type labels Jan 28, 2019
@jseabold
Copy link
Contributor Author

jseabold commented Jan 28, 2019

What version were you using before upgrading?

I was using 0.23.4. I upgraded to see if another bug was fixed (it was), which revealed this one for me. Don't know anything about whether this code would have worked in an older version.

@jorisvandenbossche
Copy link
Member

OK, just to know whether it was a regression or not. Of course it is still a clear bug, but if it was a regression compared to 0.23.4, we should have tried to give it priority.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Categorical Categorical Data Type
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants