Closed
Description
Reproducer:
import pandas as pd
import numpy as np
values = np.array([3, 1, 2, 3, 4, np.nan])
pd.value_counts(values, bins=3) # <- TypeError: bins argument only works with numeric data.
pd.Series(values).value_counts(bins=3) # <- TypeError: bins argument only works with numeric data.
numpy 1.25.2
pandas 2.1.0rc0
>>> pd.Series(values).value_counts(bins=3)
Traceback (most recent call last):
File "Miniconda3\envs\modin\lib\site-packages\pandas\core\algorithms.py", line 882, in value_counts_internal
ii = cut(values, bins, include_lowest=True)
File "Miniconda3\envs\modin\lib\site-packages\pandas\core\reshape\tile.py", line 258, in cut
rng = (nanops.nanmin(x), nanops.nanmax(x))
File "Miniconda3\envs\modin\lib\site-packages\pandas\core\nanops.py", line 147, in f
result = alt(values, axis=axis, skipna=skipna, **kwds)
File "Miniconda3\envs\modin\lib\site-packages\pandas\core\nanops.py", line 404, in new_func
result = func(values, axis=axis, skipna=skipna, mask=mask, **kwargs)
File "Miniconda3\envs\modin\lib\site-packages\pandas\core\nanops.py", line 1089, in reduction
values, mask = _get_values(
File "Miniconda3\envs\modin\lib\site-packages\pandas\core\nanops.py", line 316, in _get_values
np.putmask(values, mask, fill_value)
TypeError: putmask: first argument must be an array
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "Miniconda3\envs\modin\lib\site-packages\pandas\core\base.py", line 1010, in value_counts
return algorithms.value_counts_internal(
File "Miniconda3\envs\modin\lib\site-packages\pandas\core\algorithms.py", line 884, in value_counts_internal
raise TypeError("bins argument only works with numeric data.") from err
TypeError: bins argument only works with numeric data.