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

SparseSeries.value_counts doesn't include fill_value counts #6749

Closed
bdanalytics opened this issue Mar 31, 2014 · 3 comments
Closed

SparseSeries.value_counts doesn't include fill_value counts #6749

bdanalytics opened this issue Mar 31, 2014 · 3 comments
Labels
Algos Non-arithmetic algos: value_counts, factorize, sorting, isin, clip, shift, diff Enhancement Sparse Sparse Data Type
Milestone

Comments

@bdanalytics
Copy link

Based on a suggestion from an user at stackoverflow.com, I am reporting a bug / enhancement request for sparse data frames. Please let me know if you need any more information.

Thanks in advance.

I am encountering a TypeError with a pandas sparse data frame when I use the value_counts method. I have listed the versions of the packages that I am using.

Python 2.7.6 |Anaconda 1.9.1 (x86_64)| (default, Jan 10 2014, 11:23:15)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

import pandas
print pandas.version
0.13.1
import numpy
print numpy.version
1.8.0

dense_df = pandas.DataFrame(numpy.zeros((10, 10))
,columns=['x%d' % ix for ix in range(10)])
dense_df['x5'] = [1.0, 0.0, 0.0, 1.0, 2.1, 3.0, 0.0, 0.0, 0.0, 0.0]
print dense_df['x5'].value_counts()
0.0 6
1.0 2
3.0 1
2.1 1
dtype: int64

sparse_df = dense_df.to_sparse(fill_value=0) # Tried fill_value=0.0 also
print sparse_df.density
0.04

print sparse_df['x5'].value_counts()
Traceback (most recent call last):
File "", line 1, in
File "//anaconda/lib/python2.7/site-packages/pandas/core/series.py", line 1156, in value_counts
normalize=normalize, bins=bins)
File "//anaconda/lib/python2.7/site-packages/pandas/core/algorithms.py", line 231, in value_counts
values = com._ensure_object(values)
File "generated.pyx", line 112, in pandas.algos.ensure_object (pandas/algos.c:38788)
File "generated.pyx", line 117, in pandas.algos.ensure_object (pandas/algos.c:38695)
File "//anaconda/lib/python2.7/site-packages/pandas/sparse/array.py", line 377, in astype
raise TypeError('Can only support floating point data for now')
TypeError: Can only support floating point data for now

@jreback
Copy link
Contributor

jreback commented Mar 31, 2014

ok...will mark this as an enhancement (fyi I am Jeff!)

A pr would be welcome as sparse needs some TLC

@jreback jreback added this to the 0.15.0 milestone Mar 31, 2014
@bdanalytics
Copy link
Author

Thanks a lot for all your help, Jeff.

Plz let me know if there is any way I can help. Am a bit of python newbie, so not very confident of getting the pull request right at this point.

Balaji

Sent from my iPad

On Mar 31, 2014, at 10:10 AM, jreback notifications@github.com wrote:

ok...will mark this as an enhancement (fyi I am Jeff!)


Reply to this email directly or view it on GitHub.

@jreback jreback modified the milestones: 0.16.0, Next Major Release Mar 3, 2015
@sinhrks
Copy link
Member

sinhrks commented Apr 9, 2016

On current master, fill_value is not included result without TypeError. Changing the title.

pd.SparseSeries([1, 2, 0, 0], fill_value=0).value_counts()
# 2    1
# 1    1
# dtype: int64

@sinhrks sinhrks modified the milestones: 0.18.1, Next Major Release Apr 9, 2016
@sinhrks sinhrks changed the title sparse data frame value_counts not working SparseSeries.value_counts doesn't include fill_value counts Apr 9, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Algos Non-arithmetic algos: value_counts, factorize, sorting, isin, clip, shift, diff Enhancement Sparse Sparse Data Type
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants