Skip to content
Advertisement

How to access items from ndarray with dtype=object

How can I access data inside a numpy array with dtype=object?

b = numpy.array({"a":[1,2,3]}, dtype=object)

The following raises an IndexError.

print(b["a"]) 
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

Advertisement

Answer

Since you passed in the dict to numpy.array() without putting it in a list, this is a zero-dimensional array. To index into a zero-dimensional array, you can use b.item() to access the element inside. For completeness, to access the data in the "a" key in your dictionary, you can use this.

>>> b.item()["a"]
[1, 2, 3]
User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement