我在 Python 程序中遇到 ValueError: 'object too deep fordesired array'。
我在使用 numpy.digitize 时遇到此错误。
我认为这就是我使用 Pandas DataFrames 的方式:
为了简单起见(因为这是通过外部库完成的),我的程序中有一个列表,但该库需要一个 DataFrame,所以我做了这样的事情:
ts = range(1000)
df = pandas.DataFrame(ts)
res = numpy.digitize(df.values, bins)
但看起来 df.values 是一个列表数组而不是浮点数数组。我是说:
array([[ 0],
[ 1],
[ 2],
...,
[997],
[998],
[999]], dtype=int64)
请帮忙,我在这上面花了太多时间。
尝试这个:
numpy.digitize(df.iloc[:, 0], bins)
您正在尝试从整个 DataFrame 中获取值。这就是为什么你得到二维数组。数组中的每一行都是 DataFrame 的一行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)