我想用dtype = np.object创建一个数组,其中每个元素都是一个数字类型的数组,例如int或float.例如:
>>> a = np.array([1,2,3])
>>> b = np.empty(3,dtype=np.object)
>>> b[0] = a
>>> b[1] = a
>>> b[2] = a
创造我想要的东西:
>>> print b.dtype
object
>>> print b.shape
(3,)
>>> print b[0].dtype
int64
但我想知道是否没有办法在一行中写入第3行到第6行(特别是因为我可能想要连接100个数组).我试过了
>>> b = np.array([a,a,a],dtype=np.object)
但这实际上将所有元素转换为np.object:
>>> print b.dtype
object
>>> print b.shape
(3,)
>>> print b[0].dtype
object
有没有人有任何想法如何避免这种情况?
最佳答案
它不是很漂亮,但……
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。