numpy创建数组
使用array函数创建数组
代码语言:javascript复制import numpy as np
array=np.array([1,2,3])
print(array)
代码语言:javascript复制[1 2 3]
使用numpy.empty方法创建数组
numpy.empty方法可以创建一个指定形状、数据类型且未初始化的数组
代码语言:javascript复制numpy.empty(shape , dtype = float , order = 'C')
参数 | 描述 |
---|---|
shape | 数组形状 |
dtype | 数据类型 |
array=np.empty((3,4))
print(array)
代码语言:javascript复制[[1.35966218e-311 1.35966218e-311 1.35966218e-311 1.05699242e-307]
[8.01097889e-307 1.78020169e-306 7.56601165e-307 1.02359984e-306]
[1.33510679e-306 2.22522597e-306 1.24611674e-306 1.29061821e-306]]
使用numpy.zeros方法创建数组
numpy.zeros方法可以创建一个指定大小的数组,数组元素以0来填充
代码语言:javascript复制numpy.zeros(shape , dtype = float , order = 'C')
参数 | 描述 |
---|---|
shape | 数组形状 |
dtype | 数据类型 |
array=np.zeros((4,5))
print(array)
代码语言:javascript复制[[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]]
使用numpy.ones方法创建数组
numpy.ones方法可以创建一个指定大小的数组,数组元素以1来填充
代码语言:javascript复制numpy.ones(shape , dtype = float , order = 'C')
参数 | 描述 |
---|---|
shape | 数组形状 |
dtype | 数据类型 |
array=np.ones((4,4))
print(array)
代码语言:javascript复制[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
使用numpy.eye方法创建数组
numpy.eye方法可以创建一个正方的n*n单位矩阵(对角线为1,其余为0)
代码语言:javascript复制array=np.eye(3)
print(array)
代码语言:javascript复制[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
使用numpy.asarray方法创建数组
numpy.asarray方法可以将输入转换为ndarray,如果输入本身就是ndarray则不进行复制
代码语言:javascript复制numpy.asarray(a , dtype = None , order = None)
参数 | 描述 |
---|---|
a | 任意输入,可以是列表、列表的元组、元组、元组的元组、多维数组 |
dtype | 数据类型 |
# 将列表转换为ndarray
a=[1,2,3]
array=np.asarray(a)
print(array)
代码语言:javascript复制[1 2 3]
代码语言:javascript复制#将元组转化为ndarray
a=(1,2,3)
array=np.asarray(a)
print(a)
代码语言:javascript复制(1, 2, 3)
代码语言:javascript复制# 将元组列表转换为ndarray
a=[(1,2,3),(4,5)]
array=np.asarray(a)
print(a)
代码语言:javascript复制[(1, 2, 3), (4, 5)]
使用numpy.arange方法创建数组
使用numpy.arange方法创建数值范围数组并返回ndarray对象
代码语言:javascript复制numpy.arange(start , stop , step, dtype)
参数 | 描述 |
---|---|
start | 起始值,默认为1 |
stop | 终止值 |
step | 步长,默认为1 |
dtype | ndarray数据类型 |
# 生成0到6的数组
array=np.arange(6)
print(array)
代码语言:javascript复制[0 1 2 3 4 5]
代码语言:javascript复制# 设置dtype
array=np.arange(6,dtype=float)
print(array)
代码语言:javascript复制[0. 1. 2. 3. 4. 5.]
代码语言:javascript复制# 设置起始值,终止值,步长
array=np.arange(10,20,3)
print(array)
代码语言:javascript复制[10 13 16 19]
使用numpy.linspace方法创建数组
numpy.linspace用于创建一个一维等差数列的数组
代码语言:javascript复制numpy.linspace(start , stop, num=50 , endpoint=True , retstep = False , dtype = None)
参数 | 描述 |
---|---|
start | 起始值 |
stop | 终止值 |
num | 要生成等步长的样本数量,默认为50 |
endpoint | 该值为True时,数列中包含stop值,默认为True |
retstep | 该值为True时,显示间距,默认为False |
dtype | ndarray的数据类型 |
# 生成1到10的10个数值组成的等差序列
array=np.linspace(1,10,10)
print(array)
代码语言:javascript复制[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
代码语言:javascript复制# 将endpoint设为false
array=np.linspace(1,10,10,endpoint=False)
print(array)
代码语言:javascript复制[1. 1.9 2.8 3.7 4.6 5.5 6.4 7.3 8.2 9.1]
代码语言:javascript复制# 显示间距
array=np.linspace(1,10,10,retstep=True)
print(array)
代码语言:javascript复制(array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]), 1.0)
使用numpy.logspace方法创建数组
numpy.linspace用于创建一个一维等比数列的数组
代码语言:javascript复制numpy.linspace(start , stop , num = 50 , endpoint = True , base = 10.0 , dtype = None)
参数 | 描述 |
---|---|
start | 起始值:base^start |
stop | 终止值:base^stop |
num | 要生成的样本数量,默认为50 |
endpoint | 该值为True时,数列中包含stop值,默认为True |
base | 对数log的底数 |
dtype | ndarray的数据类型 |
# 生成10^1到10^10的一个等比数列
array=np.logspace(1,10,num=10)
print(array)
代码语言:javascript复制[1.e 01 1.e 02 1.e 03 1.e 04 1.e 05 1.e 06 1.e 07 1.e 08 1.e 09 1.e 10]
代码语言:javascript复制#将底数设置为2
array=np.logspace(1,10,num=10,base=2)
print(array)
代码语言:javascript复制[ 2. 4. 8. 16. 32. 64. 128. 256. 512. 1024.]