为了账号安全,请及时绑定邮箱和手机立即绑定

Python:将一个整数数组与 1 个空数组连接起来

Python:将一个整数数组与 1 个空数组连接起来

一只萌萌小番薯 2022-08-02 17:05:39
我在NumPy中有一个简单的一维数组和一个空数组。我试图连接它们,但我得到了一个浮点数组。from numpy import *a = zeros(5,'i')a += 1b = []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]如何?最有效的方法是什么?
查看完整描述

4 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

试试这个方法:


默认情况下,numpy 数组为 。因此,将其更改为dtypefloatnp.int32


a = np.zeros(5,dtype=np.int32)

a += 1

b = np.array([],dtype=np.int32)


查看完整回答
反对 回复 2022-08-02
?
萧十郎

TA贡献1815条经验 获得超13个赞

您愿意拥有与输入相同的数组的点是什么?


使用numpy.ones来减少计算而不是numpy.zeros


`


import numpy

a = numpy.ones(5,dtype=int) 

b = []

b = numpy.array([],dtype=int)

d = concatenate((a, b))

`


查看完整回答
反对 回复 2022-08-02
?
繁星coding

TA贡献1797条经验 获得超4个赞

您可以创建为 0 大小的 dtype 而不是列表,即:bnp.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]


查看完整回答
反对 回复 2022-08-02
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

我认为numpy假设空数组为数据类型。如果运行以下命令float64


np.array([]).dtype

它返回,所以你应该初始化空数组,如下所示dtype('float64')


 b=[]

 b=np.array(b,dtype="int32")


查看完整回答
反对 回复 2022-08-02
  • 4 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号