I have a ValueError: 'object too deep for desired array' in a Python program.
I have this error while using numpy.digitize.
I think it's how I use Pandas DataFrames:
To keep it simple (because this is done through an external library), I have a list in my program but the library needs a DataFrame so I do something like this:
ts = range(1000)
df = pandas.DataFrame(ts)
res = numpy.digitize(df.values, bins)
But then it seems like df.values is an array of lists instead of an array of floats. I mean:
array([[ 0],
[ 1],
[ 2],
...,
[997],
[998],
[999]], dtype=int64)
Help please, I spent too much time on this.
Try this:
numpy.digitize(df.iloc[:, 0], bins)
You are trying to get the values from a whole DataFrame. That is why you get the 2D array. Each row in the array is a row of the DataFrame.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With