You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While converting a quantitative variable into a qualitative one, pd.cut() comes in clutch. However, it requires the user to specify bins as either an integer or a list of bin edges. I wish it was allowed to specify bins='auto' similar to how np.histogram allows it. It internally leverages np.histogram_bin_edges to compute these. Thank you.
Expectation
Instead of coding pd.cut(df['x1'], bins=np.histogram_bin_edges(df['x1'], bins='auto'))
Allow for coding pd.cut(df['x1'], bins='auto')
Hari-Shankar-Karthik
changed the title
ENH: In pd.cut(), allow bins='auto' (Automatic Calculation of bin edges using np.histogram_bin_edges
ENH: In pd.cut(), allow bins='auto' (leveraging np.histogram_bin_edges)
Jul 2, 2024
Thanks for the suggestion! It appears there was an effort to allow string bins in pd.cut in #23567 but that PR got stale.
PRs are welcomed to add string bins support, dispatching the string to np.histogram_bin_edges.
Feature Type
Adding new functionality to pandas
Changing existing functionality in pandas
Removing existing functionality in pandas
Problem Description
While converting a quantitative variable into a qualitative one,
pd.cut()
comes in clutch. However, it requires the user to specifybins
as either an integer or a list of bin edges. I wish it was allowed to specifybins='auto'
similar to hownp.histogram
allows it. It internally leveragesnp.histogram_bin_edges
to compute these. Thank you.Expectation
Instead of coding
pd.cut(df['x1'], bins=np.histogram_bin_edges(df['x1'], bins='auto'))
Allow for coding
pd.cut(df['x1'], bins='auto')
Additional Context
Calculation of bin edges is already done via
np.histogram_bin_edges
. Reference: https://numpy.org/doc/stable/reference/generated/numpy.histogram_bin_edges.html#numpy-histogram-bin-edgesThe text was updated successfully, but these errors were encountered: