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使用dict.fromkeys()快速生成一个字典示例

本文实例讲述了Python使用dict.fromkeys()快速生成一个字典。分享给大家供大家参考,具体如下: >>> result = dict.fromkeys...

python实现决策树C4.5算法详解(在ID3基础上改进)

python实现决策树C4.5算法详解(在ID3基础上改进)

一、概论 C4.5主要是在ID3的基础上改进,ID3选择(属性)树节点是选择信息增益值最大的属性作为节点。而C4.5引入了新概念“信息增益率”,C4.5是选择信息增益率最大的属性作为树节...

Python中使用OpenCV库来进行简单的气象学遥感影像计算

Python中使用OpenCV库来进行简单的气象学遥感影像计算

OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,...

详解Python中的array数组模块相关使用

初始化 array实例化可以提供一个参数来描述允许那种数据类型,还可以有一个初始的数据序列存储在数组中。 import array import binascii s = 'Thi...

python3下使用cv2.imwrite存储带有中文路径图片的方法

由于imwrite前使用编码在python3中已经不适用,可用imencode代替,以下代码是从视频中获取第2帧保存在中文文件夹下的实例: cap = cv2.VideoCaptur...