Good to hear you solved it!
Had all arrays the same shape inside the ndarray? If so, you could make sure to create a single numpy array, which doesn’t store each element as an object.
Variant shapes will create such an “object array”:
x = np.array([[1., 2.], [3., 4.]])
print(x.dtype)
> float64
y = np.array([[1., 2.], [3.]])
print(y.dtype)
> object