我想用dtype = np.object创建一个数组,其中每个元素都是一个数字类型的数组,例如int或float.例如:
@H_403_6@>>> a = np.array([1,2,3]) >>> b = np.empty(3,dtype=np.object) >>> b[0] = a >>> b[1] = a >>> b[2] = a
创造我想要的东西:
@H_403_6@>>> print b.dtype object >>> print b.shape (3,) >>> print b[0].dtype int64
但我想知道是否没有办法在一行中写入第3行到第6行(特别是因为我可能想要连接100个数组).我试过了
@H_403_6@>>> b = np.array([a,a,a],dtype=np.object)
但这实际上将所有元素转换为np.object:
@H_403_6@>>> print b.dtype object >>> print b.shape (3,) >>> print b[0].dtype object
有没有人有任何想法如何避免这种情况?
最佳答案
它不是很漂亮,但……
原文链接:https://www.f2er.com/python/439047.html@H_403_6@import numpy as np a = np.array([1,3]) b = np.array([None,a])[1:] print b.dtype,b[0].dtype,b[1].dtype # object int32 int32