1 numpy.empty

empty(shape[, dtype=float, order='C'])

创建指定 shape 和dtype 的未初始化数组

返回:ndarray。

说明:order = ‘C’ 或 ‘F' 'C'是按行的C风格的数组,’F‘为按列的Fortran 风格数组。

import numpy as np
a = np.empty((3,3),dtype = int)
print(a)

运行

[[   6553665    7471204    7536741]
 [   4587635    7143521    7077993]
 [       120 1702126437 1970217060]]

注:

空数组创建时的元素是随机产生的,并未将元素进行初始化设置,因此运行可能会比zeros和ones快一点,但是他需要用户手动设置数组中的所有值,谨慎使用

2 numpy.zeros

zeros(shape[, dtype=float, order='C'])

返回各元素为0,形状为shape,数据类型为dtype的数组

import numpy as np
a = np.zeros(3)
print(a) #[0. 0. 0.]

b = np.zeros((3,),dtype=int)
print(b) #[0 0 0]

c = np.zeros((2,2),dtype='c8')
print(c)
# [[0.+0.j 0.+0.j]
#  [0.+0.j 0.+0.j]]

d = np.zeros((2,),dtype=[('x','i4'),('y','i4')]) #自定义类型
print(d) #[(0, 0) (0, 0)]
print(d.dtype) #[('x', '<i4'), ('y', '<i4')]

3 numpy.ones

ones(shape[, dtype=float, order='C'])

返回各元素为1,形状为shape,数据类型为dtype的数组

import numpy as np
a = np.ones(2)
print(a) #[1. 1.]

b = np.ones((2,1),dtype='i8')
print(b)
# [[1]
#  [1]]

s = (2,2)
c = np.ones(s)
print(c)
# [[1. 1.]
#  [1. 1.]]

4 numpy.eye

eye(N[, M=None, k=0, dtype=<class 'float'>, order='C'])

实际上,行数和列数都等于n的矩阵称为n阶矩阵或n阶方阵,主对角线上的元素都为1的方阵称为之单位矩阵或单位阵

N - 矩阵的行数

M - 矩阵的列数,若为None,则默认为N列

k - 对角线的索引,0(默认)主对角线,正值上对角线,负值下对角线

import numpy as np
a = np.eye(2)
print(a)
# [[1. 0.]
#  [0. 1.]]
b = np.eye(3,k=-1,dtype=int)
print(b)
# [[0 0 0]
#  [1 0 0]
#  [0 1 0]]

5 numpy.full

full(shape, fill_value[, dtype=None, order='C'])

返回各元素值为fill_value(标量),形状为shape,数据类型为dtype的数组

import numpy as np
a = np.full((2,2),np.inf)
print(a)
# [[inf inf]
#  [inf inf]]

b = np.full((2,2),5)
print(b)
# [[5 5]
#  [5 5]]

注:

inf - 数值(numeric),无穷(Infinity)数值

在numpy - core - numeric.py中

# set the default values
_setdef()

Inf = inf = infty = Infinity = PINF
nan = NaN = NAN
False_ = bool_(False)
True_ = bool_(True)
 
注:
inf  - 正无穷,float类型
-inf -  负无穷 ,float类型
import numpy as np
b = np.inf
print(b) #inf
c = b>9999999999999999999999
print(c) #True
参考:NumPy数组创建例程 和官方文档 (numpy-ref-1.14.5.pdf)3.1.1 Ones and zeros
 

numpy 数组创建例程的更多相关文章

  1. NumPy数组创建例程

    NumPy - 数组创建例程 新的ndarray对象可以通过任何下列数组创建例程或使用低级ndarray构造函数构造. numpy.empty 它创建指定形状和dtype的未初始化数组. 它使用以下构 ...

  2. NumPy 数组创建

    章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...

  3. Python数据分析之numpy数组全解析

    1 什么是numpy numpy是一个在Python中做科学计算的基础库,重在数值计算,也是大部分Python科学计算库的基础库,多用于大型.多维数据上执行数值计算. 在NumPy 中,最重要的对象是 ...

  4. 3.NumPy - 数组属性

    1.ndarray.shape 这一数组属性返回一个包含数组维度的元组,它也可以用于调整数组大小 # -*- coding: utf-8 -*- import numpy as np a = np.a ...

  5. NumPy 数组迭代

    章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...

  6. NumPy 数组切片

    章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...

  7. NumPy 从已有的数组创建数组

    NumPy 从已有的数组创建数组 本章节我们将学习如何从已有的数组创建数组. numpy.asarray numpy.asarray 类似 numpy.array,但 numpy.asarray 只有 ...

  8. numpy数组的创建

    创建数组 创建ndarray 创建数组最简单的方法就是使用array函数.它接收一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的Numpy数组. array函数创建数组 import ...

  9. Numpy之数组创建

    ndarray 数组除了可以使用 ndarray 构造器来创建外,也可以通过如下方式创建. 一.创建数组 numpy.empty 语法: numpy.empty(shape, dtype = floa ...

随机推荐

  1. [Angular CLI] Build application without remove dist folder for Docker Volume

    When we develop the Angular app inside Docker container, we can simulate Production envioment by bui ...

  2. WDCP安装可选组件的快捷命令

    memcache的安装 wget -c http://down.wdlinux.cn/in/memcached_ins.sh chmod 755 memcached_ins.sh ./memcache ...

  3. phpmyadmin误删表后如何恢复

    用mysqlbinlog php处理代码: 将mysql-bin.xxxxxx文件导出为可读文本: <?php //导出mysql-bin.000xxx文件为可读性txt文本 //0为执行成功, ...

  4. Solidworks直接打开SWB文件报错怎么办

       

  5. SQL Server如何进行时间比较的代码

    例子: datediff(dd,add_time,getdate()) not between 0 and 7 select count(*) from table where DATEDIFF ([ ...

  6. ActiveMQ 基于zookeeper的主从(levelDB Master/Slave)搭建以及Spring-boot下使用

    0:说明 ActiveMQ 5.9.0新推出的主从实现,基于zookeeper来选举出一个master,其他节点自动作为slave实时同步消息.因为有实时同步数据的slave的存在,master不用担 ...

  7. JAVA的堆于栈

    1. 栈(stack)与堆(heap):都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 2. 栈的优势:存取速度比堆要快,仅次于直接位于C ...

  8. java.net.ConnectException: Connection refused: no further information

    NIO项目中出现了这个错误: java.net.ConnectException: Connection refused: no further information 一般是因为InetSocket ...

  9. Python-统计svn变更代码行数

    1 #!/bin/bash/python 2 # -*-coding:utf-8-*- 3 #svn统计不同url代码行数变更脚本,过滤空行,不过滤注释. 4 import subprocess,os ...

  10. JQuery EasyUI学习笔记

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6690888.html  简介与准备 jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用 ...