【发布时间】:2020-01-22 18:44:59
【问题描述】:
我正在使用 python (3.7.4) 和 pandas (0.25.0) 并希望在系列上使用 value_counts()。
在执行语句时,我得到一个 ValueError。
有什么建议可以解决这个错误吗?
import pandas as pd
series = pd.Series([1, 2], index=pd.DatetimeIndex(['2019-09-22', '2019-09-24']))
series.groupby(pd.Grouper(freq='D')).value_counts()
堆栈跟踪:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.7/site-packages/pandas/core/groupby/generic.py", line 1244, in value_counts
labels = list(map(rep, self.grouper.recons_labels)) + [llab(lab, inc)]
File "<__array_function__ internals>", line 6, in repeat
File "/usr/lib/python3.7/site-packages/numpy/core/fromnumeric.py", line 481, in repeat
return _wrapfunc(a, 'repeat', repeats, axis=axis)
File "/usr/lib/python3.7/site-packages/numpy/core/fromnumeric.py", line 61, in _wrapfunc
return bound(*args, **kwds)
ValueError: operands could not be broadcast together with shape (3,) (2,)
Python:
$ python3
Python 3.7.4 (default, Jul 16 2019, 07:12:58)
[GCC 9.1.0] on linux
编辑:
注意:给定的数据只是重现错误的测试数据。
由于某些原因,更改后的数据集可以正常工作:
import pandas as pd
series = pd.Series([1, 2], index=pd.DatetimeIndex(['2019-09-22', '2019-09-23']))
series.groupby(pd.Grouper(freq='D')).value_counts()
2019-09-22 1 1
2019-09-23 2 1
dtype: int64
【问题讨论】:
标签: python python-3.x pandas series