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.]