ValueError:'对象太深,不适合所需的数组'

时间:2016-09-13 15:42:05

标签: python pandas numpy dataframe

我在Python程序中有一个ValueError:'对象太深了所需的数组'。 使用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)

请帮助,我花了太多时间在这上面。

1 个答案:

答案 0 :(得分:2)

试试这个:

numpy.digitize(df.iloc[:, 0], bins)

您正在尝试从整个DataFrame中获取值。这就是你获得2D数组的原因。数组中的每一行都是DataFrame的一行。