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中的序列化与反序列化的使用

学习过marshal模块用于序列化和反序列化,但marshal的功能比较薄弱,只支持部分内置数据类型的序列化/反序列化,对于用户自定义的类型就无能为力,同时marshal不支持自引用(递...

tensorflow获取变量维度信息

tensorflow版本1.4 获取变量维度是一个使用频繁的操作,在tensorflow中获取变量维度主要用到的操作有以下三种: Tensor.shape Tensor.get...

用Python写一段用户登录的程序代码

用Python写一段用户登录的程序代码

如下所示: #!/usr/bin/env python #coding: utf8 import getpass db = {} def newUser(): username =...

Django静态资源URL STATIC_ROOT的配置方法

缘由   新手学习 Django 当配置好 HTML 页面后,就需要使用一些静态资源,如图片,JS 文件,CSS 样式等,但是 Django 里面使用这些资源并不是直接引用一下就好,还要...

PYTHON绘制雷达图代码实例

PYTHON绘制雷达图代码实例

这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1、雷达图 import matp...