NumPy 从数值范围创建数组

这一章节我们将学习如何从数值范围创建数组。

numpy.arange

numpy 包中的使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如下:

numpy.arange(start, stop, step, dtype)

根据 start 与 stop 指定的范围以及 step 设定的步长,生成一个 ndarray。

参数说明:

参数 描述
start 起始值,默认为0
stop 终止值(不包含)
step 步长,默认为1
dtype 返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型。

实例

生成 0 到 5 的数组:

实例

import numpy as np x = np.arange(5) print (x)

输出结果如下:

[0  1  2  3  4]

设置返回类型位 float:

实例

import numpy as np # 设置了 dtype x = np.arange(5, dtype = float) print (x)

输出结果如下:

[0.  1.  2.  3.  4.]

设置了起始值、终止值及步长:

实例

import numpy as np x = np.arange(10,20,2) print (x)

输出结果如下:

[10  12  14  16  18]

numpy.linspace

numpy.linspace 函数用于创建一个一维数组,数组是一个等差数列构成的,格式如下:

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

参数说明:

参数 描述
start 序列的起始值
stop 序列的终止值,如果endpointtrue,该值包含于数列中
num 要生成的等步长的样本数量,默认为50
endpoint 该值为 ture 时,数列中中包含stop值,反之不包含,默认是True。
retstep 如果为 True 时,生成的数组中会显示间距,反之不显示。
dtype ndarray 的数据类型

以下实例用到三个参数,设置起始点为 1 ,终止点为 10,数列个数为 10。

实例

import numpy as np a = np.linspace(1,10,10) print(a)

输出结果为:

[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]

设置元素全部是1的等差数列:

实例

import numpy as np a = np.linspace(1,1,10) print(a)

输出结果为:

[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]

将 endpoint 设为 false,不包含终止值:

实例

import numpy as np a = np.linspace(10, 20, 5, endpoint = False) print(a)

输出结果为:

[10. 12. 14. 16. 18.]

如果将 endpoint 设为 true,则会包含 20。

以下实例设置间距。

实例

import numpy as np a =np.linspace(1,10,10,retstep= True) print(a) # 拓展例子 b =np.linspace(1,10,10).reshape([10,1]) print(b)

输出结果为:

(array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.]), 1.0)
[[ 1.]
[ 2.]
[ 3.]
[ 4.]
[ 5.]
[ 6.]
[ 7.]
[ 8.]
[ 9.]
[10.]]

numpy.logspace

numpy.logspace 函数用于创建一个于等比数列。格式如下:

np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)

base 参数意思是取对数的时候 log 的下标。

参数 描述
start 序列的起始值为:base ** start
stop 序列的终止值为:base ** stop。如果endpointtrue,该值包含于数列中
num 要生成的等步长的样本数量,默认为50
endpoint 该值为 ture 时,数列中中包含stop值,反之不包含,默认是True。
base 对数 log 的底数。
dtype ndarray 的数据类型

实例

import numpy as np # 默认底数是 10 a = np.logspace(1.0, 2.0, num = 10) print (a)

输出结果为:

[ 10.           12.91549665     16.68100537      21.5443469  27.82559402
35.93813664 46.41588834 59.94842503 77.42636827 100. ]

将对数的底数设置为 2 :

实例

import numpy as np a = a = np.logspace(0,9,10,base=2) print (a)

输出如下:

[  1.   2.   4.   8.  16.  32.  64. 128. 256. 512.]

NumPy 从数值范围创建数组的更多相关文章

  1. NumPy 基于数值区间创建数组

    来源:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...

  2. 吴裕雄--天生自然Numpy库学习笔记:NumPy 从数值范围创建数组

    import numpy as np x = np.arange(5) print (x) import numpy as np # 设置了 dtype x = np.arange(5, dtype ...

  3. numpy 基于数值范围创建ndarray()

    基于数值范围创建函数创建ndarray 1 numpy.arange arange([start=0,] stop[, step=1,][, dtype=None]) >>> np. ...

  4. NumPy来自数值范围的数组

    NumPy - 来自数值范围的数组 这一章中,我们会学到如何从数值范围创建数组. numpy.arange 这个函数返回ndarray对象,包含给定范围内的等间隔值. numpy.arange(sta ...

  5. Numpy | 07 从数值范围创建数组

    numpy.arange ***** 使用numpy 包中的 arange 函数,创建数值范围并返回 ndarray 对象,函数格式如下: numpy.arange(start, stop, step ...

  6. numpy常见属性、创建数组

      1.几种常见numpy的属性 ndim:维度 shape:行数和列数 size:元素个数 >>> import numpy as np #导入numpy模块,np是为了使用方便的 ...

  7. NumPy学习2:创建数组

    1.使用array创建数组 b = array([2, 3, 4])print bprint b.dtype 2.把序列转化为数组 b = array( [ (1.5,2,3), (4,5,6) ] ...

  8. NumPy 基于已有数据创建数组

    原文:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...

  9. numpy 基于现有数据创建ndarray(from existing data)

    1 numpy.array array(object[, dtype=None, copy=True, order='K', subok=False, ndmin=0]) 2 numpy.asarra ...

随机推荐

  1. 跟我一起学Python-day1(条件语句以及初识变量)

    通过练习题来学习条件语句 1,使用while循环输出1 2 3 4 5 6    8  9  10 n=1 while n<11: if n=7: pass else: print(n) n=n ...

  2. 解决Mac上安装mysqlclient的错误

       要想使用python操作mysql,那么就需要安装python操作数据库的驱动,由于mysqldb不支持python3,我选择安装mysqlclient, 命令行输入:pip3 install  ...

  3. The Google File System 中文版

    摘要 我们设计并实现了Google文件系统,一个面向分布式数据密集型应用的.可伸缩的分布式文件系统.虽然运行在廉价的日用硬件设备上,但是它依然了提供容错功能,为大量客户机提供了很高的总体性能. 虽然与 ...

  4. 函数mmap()的使用

    函数mmap是linux的一个系统函数.如下: 函数原型:void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t ...

  5. Eclipse SVN文件冲突及不能直接提交情况

    下图为Eclipse SVN使用过程中存在文件冲突的情形. 以下是三种冲突情形及相应解决办法: 1.简单的文件版本冲突 情形:A改变了文件的头部,B改变了文件的尾部,如果两者改动互不影响,SVN可以智 ...

  6. RabbitMQ系列教程之七:RabbitMQ的 C# 客户端 API 的简介(转载)

    RabbitMQ系列教程之七:RabbitMQ的 C# 客户端 API 的简介 今天这篇博文是我翻译的RabbitMQ的最后一篇文章了,介绍一下RabbitMQ的C#开发的接口.好了,言归正传吧. N ...

  7. avalon2学习教程05属性操作

    avalon2与avalon1的属性操作虽然都是使用ms-attr,但用法完全不一样. avalon1是这样操作属性的 其语法为 ms-attr-valueName="vmProp" ...

  8. 【剑指offer】将字符串中的空格替换成"%20"

    #include <iostream> #include <string> using namespace std; char *ReplaceSpace(char *str, ...

  9. overload重载

    方法的重载 /** * 重载 overload * @author Administrator *同一个类,同一个方法 *不同:参数列表不同(类型,个数,顺序) 只和 参数列表有关 * 跟 返回值 和 ...

  10. winform clickonce在线安装

    转 http://swanmsg.blog.sohu.com/162994305.html