numpy 创建加一行_用numpy如何创建一个空数组?

9d16ceb6381b6666111094b01133bc43.png

IT服务圈儿

有温度、有态度的IT自媒体平台

b167132f11ff7231352e6e5798eb2287.png

本文经公众号:小数志(ID:Datazhi)授权转载,如需转载请联系出处。

导读

最近在用numpy过程中,总会不自觉的需要创建空数组,虽然这并不是一个明智的做法,但终究是可能存在这种需求的。本文简单记录3种用numpy生成空数组的方式。

9e589d0e29c90e42aa5c7edda4d6d951.png

我们的目标是创建一个 指定列数、但空无一行的空数组。

00 关于np.empty

首先,numpy有一个"空数组"函数:np.empty(),虽然名字叫empty,但结果可能并不是我们想要的那种:

a972f4e443ea78a2bedaf466c71168c4.png

实际上,empty之空,空在其值,而非其形。也就说,它只是用于创造一个给定形状、但未初始化实体的数组。例如:

d3877d3fa1783de33adfda2c44ef0737.png

那么,如果我们需要创建一个没有任何值的数组呢?这里以生成0行3列的空数组为例,笔者想到了3种方案。。


01 numpy指定形状为0

实际上,empty生成的数组当然可以为空,只要我们指定了相应的形状。例如,如果我们传入数组的形状参数为(0,3),则可以生成目标空数组: f4783388d95eca85a0ddb7bd900c04ca.png所以,生成的数组是否为空,不在于你用的是不是empty,而在于传入的形状参数。当然, 这里的empty换成ones或者zeros也都可以,只要形状是(0, 3)即可。

02 利用空列表创建

初始化numpy数组的一种方式是由列表创建,那么当我们传入的列表是空列表时即可创建空数组。特别的,为了创建指定列数的空列表,我们需要传入指定个数的嵌套空列表,然后转置即可。 f5920b151389139406ac827945b15af6.png

03 利用pandas转换生成

numpy和pandas是一对好搭档,常常需要对二者数据进行转换,在创建空数组时自然也可以。为了创建一个空数组,我们可以首先考虑先创建一个空的DataFrame,然后由其转换为numpy对象即实现了创建空数组。首先,我们创建一个仅有列名、而没有索引和值的空DataFrame: 190b8a0022e2a04d02df483daf5c2042.png进而,可由该DataFrame对象转化为空数组: 3da045cbf594915475180a1e2b2dc0eb.png
可能多数情况下并不需要创建空数组,甚至存在更好的替代办法,但就事论事的讲,这些也都不失为一个丰富numpy姿势的小技巧。 2c835066c34f495db3be59b06bc337b6.png

962f5e31913473a27e3287800cee7b48.png

855534e081966f61ebcf233ddddc606e.gif

  • Go 为什么这么“快”

  • 如何优雅地用Python3发送Zabbix告警推送

  • Ubuntu 20.04 LTS(Focal Fossa)发布

  • 网友高校“线上答辩”上热搜!网友:问到不懂就说网卡……

*版权声明:转载文章和图片均来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

6c7deecbfd1118970a4b0e974f5eb416.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值