很长一段时间,我总是使用np.array
,np.asarray
和np.asanyarray
来将array_like列表转换为数组。np.asarray(标量)的输出是什么?
但是,当将标量转换为numpy数组时,我知道np.atleast_1d(123)
引起了正确的事情,array([123])
。
但我困惑的np.array
输出和np.asarray
i = 123
x = np.array(i, dtype=np.int)
print x # array(123)
print x.shape #()
print x.size # 0
由于x.shape
表示x
是空的,什么是array(123)
?这是一个0维数组,在其__str__
中仍然包含123
。
的size=0
一个真正的空数组应该是array([])
,
print np.array([]).nbytes # 0
print np.array(123).nbytes # 8
print type(np.array(123)) # numpy.ndarray
显然,他们是不同的,但它们的大小既是0
。
'x.shape'表示x **为空形**。 'x'是一个标量,还有什么? – Julien
@JulienBernu,'print x'显示'array(123)',而不是'array([]'),它是普通的空数组。 – Lee
downvoted的人,请至少发表评论。问题不清楚,甚至你认为它太简单和愚蠢。 'x'不是标量,而是'numpy.ndarray'。 – Lee