Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
空数组与非空数组的numpy串联产生浮点值_Numpy - Fatal编程技术网

空数组与非空数组的numpy串联产生浮点值

空数组与非空数组的numpy串联产生浮点值,numpy,Numpy,我刚刚发现,将空数组与非空数组连接在一起会产生一个包含非空数组的单值数组,但会变为浮点数组。 例如: import numpy as np np.concatenate([1], [1]) array([1, 1]) 但是 默认情况下,代码中的空数组np.hstack也是如此 np.concatenate([], [1]) 使用dtype=float初始化,并将第二个int数组转换为float 现在,值得一提的是,您是否曾经在空数组上使用串联。显然,您从来没有像这样编写代码 a=array(

我刚刚发现,将空数组与非空数组连接在一起会产生一个包含非空数组的单值数组,但会变为浮点数组。 例如:

import numpy as np
np.concatenate([1], [1])
array([1, 1])
但是


默认情况下,代码中的空数组np.hstack也是如此

np.concatenate([], [1])
使用
dtype=float
初始化,并将第二个
int
数组转换为
float

现在,值得一提的是,您是否曾经在空数组上使用串联。显然,您从来没有像这样编写代码

a=array([1,2,3])#int array
b=np.concatenate([], a)
可能发生的一种情况如下:

a=array([1,2,3])#int array
b=concatenate((a[:j],a)) #usually j!=0 here
然后,由于某些原因,代码运行时使用
j=0
。诚然,
a[:0]
是空的,但它仍然保留
dtype=int
,并且连接的结果是一个整数数组,正如您所期望的那样

所以我想说,是的,你的例子乍一看显示了某种意想不到的行为,但它是无害的

a=array([1,2,3])#int array
b=concatenate((a[:j],a)) #usually j!=0 here