Python:将一个整数数组与一个空数组连接起来
我有一个简单的一维数组和一个空数组。我试图连接它们,但得到了一个浮点数组Python:将一个整数数组与一个空数组连接起来,python,arrays,integer,concatenation,Python,Arrays,Integer,Concatenation,我有一个简单的一维数组和一个空数组。我试图连接它们,但得到了一个浮点数组 from numpy import * a = zeros(5,'i') a += 1 b = [] c = hstack((a,b)) d = concatenate((a, b)) print("a",a) print("b",b) print("c",c) print("d",d) 我得到: a [1 1 1 1 1] b [] c [1. 1. 1. 1. 1.] d [1. 1. 1. 1. 1.] 但
from numpy import *
a = zeros(5,'i')
a += 1
b = []
c = hstack((a,b))
d = concatenate((a, b))
print("a",a)
print("b",b)
print("c",c)
print("d",d)
我得到:
a [1 1 1 1 1]
b []
c [1. 1. 1. 1. 1.]
d [1. 1. 1. 1. 1.]
但是我在寻找一个整数数组
[1 1 1 1 1]
怎么做?最有效的方法是什么?试试以下方法:
numpy数组的dtype默认为float。因此,将其更改为np.int32
试着这样做:
numpy数组的dtype默认为float。因此,将其更改为np.int32
您可以将b创建为0大小的np.array,其数据类型为“i”,而不是列表,即:
import numpy as np
a = np.zeros(5,'i')
a += 1
b = np.array([],'i')
c = np.hstack((a,b))
d = np.concatenate((a, b))
print(d)
输出:
[1 1 1 1 1]
您可以将b创建为0大小的np.array,其数据类型为“i”,而不是列表,即:
import numpy as np
a = np.zeros(5,'i')
a += 1
b = np.array([],'i')
c = np.hstack((a,b))
d = np.concatenate((a, b))
print(d)
输出:
[1 1 1 1 1]
我认为numpy假设空数组为float64数据类型。 如果您运行以下命令
np.array([]).dtype
它返回数据类型“float64”
因此,您应该初始化空数组,如下所示
b=[]
b=np.array(b,dtype="int32")
我认为numpy假设空数组为float64数据类型。 如果您运行以下命令
np.array([]).dtype
它返回数据类型“float64”
因此,您应该初始化空数组,如下所示
b=[]
b=np.array(b,dtype="int32")
您希望使用相同的数组作为输入的点是什么
使用numpy.ones来减少计算量,而不是numpy.zero
`
`您希望使用相同的数组作为输入的点是什么
使用numpy.ones来减少计算量,而不是numpy.zero
`
`hstacka,b.astypei?嗨,纳尔曼,谢谢你的回答。这对我也很有效。哈斯塔卡,b。阿斯蒂佩?嗨,纳尔曼,谢谢你的回答。这对我来说也很有效。谢谢你的回答。它很有效。在我的例子中,b可以是任何整数数组,而当它为空时会出现问题。所以我正在寻找一种方法来解决这个问题,只需对代码进行最小的更改。谢谢您的回答,它很有效。在我的例子中,b可以是任何整数数组,而当它为空时会出现问题。所以我正在寻找一种方法来解决这个问题,只需对代码进行最小的更改。