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 smtplib实现发送邮件功能

本文实例为大家分享了Python smtplib发送邮件功能的具体代码,供大家参考,具体内容如下 解决之前版本的问题,下面为最新版 #!/usr/bin/env python #...

基于随机梯度下降的矩阵分解推荐算法(python)

基于随机梯度下降的矩阵分解推荐算法(python)

SVD是矩阵分解常用的方法,其原理为:矩阵M可以写成矩阵A、B与C相乘得到,而B可以与A或者C合并,就变成了两个元素M1与M2的矩阵相乘可以得到M。 矩阵分解推荐的思想就是基于此,将每个...

python socket 聊天室实例代码详解

python socket 聊天室 import socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #绑定端口...

简单了解python单例模式的几种写法

方法一:使用装饰器 装饰器维护一个字典对象instances,缓存了所有单例类,只要单例不存在则创建,已经存在直接返回该实例对象。 def singleton(cls): inst...

python各类经纬度转换的实例代码

python各类经纬度转换的实例代码

python各类经纬度转换,具体代码如下所示: import math import urllib import json x_pi = 3.14159265358979324 *...