初探numpy——数组的创建

2020-07-15 15:40:20 浏览数 (1)

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

数据类型

代码语言:javascript复制
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

数据类型

代码语言:javascript复制
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

数据类型

代码语言:javascript复制
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

数据类型

代码语言:javascript复制
# 将列表转换为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数据类型

代码语言:javascript复制
# 生成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的数据类型

代码语言:javascript复制
# 生成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的数据类型

代码语言:javascript复制
# 生成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.]

0 人点赞