numpy 声明空数组详解

yipeiwu_com6年前Python基础

你搜索这个,你会发现好多都是np.zeros(5,2),嗯都是复制的一个国外的帖子,然而没有翻译人家的话。

然后你愤怒的关闭页面。这简直就是文不对题,这哪是空的。

实际上,numpy的数组机制并不支持空数组。(什么鬼答案?)简单来讲就是numpy会申请连续的内存,如果频繁改变大小,他就要频繁申请新的内存。如果你会c语言知道指针的话,你很容易就能想到他不是list格式而是array格式。

如果你不会c语言,那么也没有关系。不影响。只需要记住,numpy的数组一旦变动大小就会像搬家一样大包小包的带着自己的全部数据,拉家带口的搬到新家,所以,才需要你一开始就将numpy数组的大小设定好。

这也就意味着,你不能从空开始,一点点堆数据。但是你可以赋值啊。

举个例子:

sum = np.zeros(shape=(2284,1200))
for i in range(2284):
  pic_lab = mini_lab[i,:,:]
  pic_flatten = np.reshape(pic_lab,(1,1200))
  sum[i] = pic_flatten

一般我们都不会一点谱都没有,真的没谱的话,不如先用python的list,然后再用ndarray = np.array(list)转换好了。

以上这篇numpy 声明空数组详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python双向链表实现实例代码

python双向链表实现实例代码

示意图:python双向链表实现代码:#!/usr/bin/python # -*- coding: utf-8 -*- class&nbs...

python 实现视频流下载保存MP4的方法

如下所示: # -*- coding:utf-8 -*- import sys import os from glob import glob import requests...

anaconda中更改python版本的方法步骤

anaconda中更改python版本的方法步骤

anaconda是一个非常好用的python发行版本,其中包含了大部分常用的库。 最新的anaconda中python版本已经更新到了python3.6,而tensorflow只支持py...

Python循环结构的应用场景详解

前言 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令。当然你可能已经注意...

python发送伪造的arp请求

复制代码 代码如下:#!/usr/bin/env pythonimport socket s = socket.socket(socket.AF_PACKET, socket.SOCK_...