ndarray 创建数组主要有以下几种方式

  • 1. 从python中的列表、元组等类型创建
  • 2. 使用 NumPy中函数创建ndarray数组,如:arrange,ones,zeros)
  • 3. 实例


1. 从python中的列表、元组等类型创建

NumPy 是一个开源的Python第三方库,同时是SciPy, Pandas等数据处理科学计算库的基础, 包含强大的N维数组对象 ndarray。

NumPy 中使用array函数创建数组

numpy.array(list/turple, dtype =None)

参数说明:

参数

描述

dtype

数据类型,可选。不指定dtype时,将根据数据自动关联一个类型

2. 使用 NumPy中函数创建ndarray数组,如:arrange,ones,zeros)

函数

描述

参数说明

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

创建一个一维数组,设置了起始值、终止值及步长

start:起始值,默认为0

stop:终止值(不包含)

step:步长,默认为1

dtype:返回ndarray的数据类型

numpy.ones(shape, dtype = float, order = ‘C’)

创建指定大小生成一个全1数组

shape:数组形状

dtype:数据类型可选

order:‘C’ 用于 C 的行数组,或 ‘F’ 用于 Fortran的列数组

numpy.zeros(shape, dtype = float, order = ‘C’)

创建指定大小生成一个全0数组

numpy.full(shape,val)

创建指定大小的数组,每个元素值都是val

numpy.eye(n)

创建一个n*n的单位矩阵(对角线值为1)

numpy.ones_like(a)

根据a的形状生成一个全1数组

numpy.zeros_like(a)

根据a的形状生成一个全0数组

numpy.full_like(a,val)

根据a的形状生成一个数组,每个元素值都是val

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

创建一个一维数组,数组是一个等差数列

start:序列的起始值

stop:序列的终止值,如果endpoint为true,该值包含于数列中

num:要生成的等步长的样本数量,默认为50

endpoint :该值为 true 时,数列中包含stop值,反之不包含,默认是True。

retstep 如果为 True 时,生成的数组中会显示间距,反之不显示。

dtype:ndarray 的数据类型

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

创建一个等比数列

start:序列的起始值为:base ** start

stop:序列的终止值为:base ** stop。

如果endpoint为true,该值包含于数列中

num:要生成的等步长的样本数量,默认为50

endpoint:该值为 true 时,数列中中包含stop值,反之不包含,默认是True。

base:对数 log 的底数。


3. 实例

3.1 numpy.arange实例

#生成一个数组,起始值10、终止值20,步长2:
import numpy as np
x = np.arange(10,20,2)  
print (x)

输出结果如下:

[10 12 14 16 18]

3.2 numpy.ones实例(zeros, full 同理)

#生成一个数组,元素全为1:
import numpy as np
 
# 默认为浮点数
x = np.ones(5) 
print(x)
# 自定义类型
x = np.ones([2,2], dtype = int)
print(x)

输出结果如下:

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

3.3 numpy.linspace实例

import numpy as np

#设置起始点为 1 ,终止点为 10,数列个数为 10
a = np.linspace(1,10,10)
print(a)

#将 endpoint 设为 false,不包含终止值;如果将 endpoint 设为 true,则会包含 20
b = np.linspace(10, 20,  5, endpoint =  False)  
print(b)

#设置间距
c =np.linspace(1,10,10,retstep= True) 
print(c)

#输出结果如下:

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

3.4 numpy.logspace实例

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

#输出结果如下:

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

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

MOOC