Skip to content

drop_duplicates slow for data frame of boolean columns #12963

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

Closed
tdhopper opened this issue Apr 22, 2016 · 1 comment
Closed

drop_duplicates slow for data frame of boolean columns #12963

tdhopper opened this issue Apr 22, 2016 · 1 comment
Labels
Dtype Conversions Unexpected or buggy dtype conversions Performance Memory or execution speed performance
Milestone

Comments

@tdhopper
Copy link
Contributor

In trying to find out the fast way to count unique rows in a data frame, I stumbled upon an issue where dropping duplicates from a data frame of booleans is quite slow. @jreback asked me to open a ticket.

In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: N = 100000

In [4]: np.random.seed(1234)

In [5]: df = pd.DataFrame({str(i) : [bool(x) for x in np.random.randint(0,2,size=N)] for i in range(500)})

In [6]: %timeit df.drop_duplicates()
1 loop, best of 3: 3.01 s per loop

In [7]: %timeit df.astype(int).drop_duplicates()
1 loop, best of 3: 1.4 s per loop
INSTALLED VERSIONS
------------------
commit: None
python: 3.5.1.final.0
python-bits: 64
OS: Darwin
OS-release: 15.4.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8

pandas: 0.18.0
nose: 1.3.7
pip: 8.1.1
setuptools: 20.3
Cython: 0.23.4
numpy: 1.10.4
scipy: 0.17.0
statsmodels: 0.6.1
xarray: None
IPython: 4.1.2
sphinx: 1.3.5
patsy: 0.4.0
dateutil: 2.5.1
pytz: 2016.2
blosc: None
bottleneck: 1.0.0
tables: 3.2.2
numexpr: 2.5
matplotlib: 1.5.1
openpyxl: 2.3.2
xlrd: 0.9.4
xlwt: 1.0.0
xlsxwriter: 0.8.4
lxml: 3.6.0
bs4: 4.4.1
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 1.0.12
pymysql: None
psycopg2: None
jinja2: 2.8
boto: 2.39.0
@jreback jreback added Performance Memory or execution speed performance Dtype Conversions Unexpected or buggy dtype conversions labels Apr 22, 2016
@jreback jreback added this to the 0.18.2 milestone Apr 22, 2016
@sinhrks
Copy link
Member

sinhrks commented Apr 25, 2016

xref #10235

@jorisvandenbossche jorisvandenbossche modified the milestones: Next Major Release, 0.19.0 Aug 13, 2016
mroeschke added a commit to mroeschke/pandas that referenced this issue Mar 20, 2017
@jreback jreback modified the milestones: 0.20.0, Next Major Release Mar 20, 2017
mroeschke added a commit to mroeschke/pandas that referenced this issue Mar 20, 2017
Add whatsnew

Add dtype label and reorg logic
AnkurDedania pushed a commit to AnkurDedania/pandas that referenced this issue Mar 21, 2017
closes pandas-dev#12963

Author: Matt Roeschke <[email protected]>

Closes pandas-dev#15738 from mroeschke/fix_12963 and squashes the following commits:

a020c10 [Matt Roeschke] PERF: Improve drop_duplicates for bool columns (pandas-dev#12963)
mattip pushed a commit to mattip/pandas that referenced this issue Apr 3, 2017
closes pandas-dev#12963

Author: Matt Roeschke <[email protected]>

Closes pandas-dev#15738 from mroeschke/fix_12963 and squashes the following commits:

a020c10 [Matt Roeschke] PERF: Improve drop_duplicates for bool columns (pandas-dev#12963)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dtype Conversions Unexpected or buggy dtype conversions Performance Memory or execution speed performance
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants