numpy之创建数组
方法1:基本方法:np.array
方法2:使用函数创建特殊数组
主要介绍一下方法2
np.arange
np.ones, np.ones_like
np.zeros, np.zeros_like
np.empty, np.empty_like
np.eye, np.identity
np.diag
np.linspace
np.logspace
import numpy as np
#1
np.arange(4)
#array([0, 1, 2, 3])
#一维数组
#2
np.ones((2,4))
#array([[1., 1., 1., 1.],
[1., 1., 1., 1.]])
#需要使用元组作为参数,元组第一个数“2”:有2行;元组第二个数“4”:有4列。
#3
da = np.identity(4)
#array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
np.ones_like(da)
#array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
#4
np.eye(4,k=1)
#和np.identity功能一致,k是指对角线位置
#array([[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.],
[0., 0., 0., 0.]])
#5
np.diag([1,2,3,4],k=1)
#参数使用列表,指定对角线内容,k是指对角线位置
#array([[0, 1, 0, 0, 0],
[0, 0, 2, 0, 0],
[0, 0, 0, 3, 0],
[0, 0, 0, 0, 4],
[0, 0, 0, 0, 0]])
#6
np.linspace(1,10,5)
#参数中有endpoint=True,改成false,就不包含10了
#功能:1到10之间取5个尽量大的等差数列,
#array([ 1. , 3.25, 5.5 , 7.75, 10. ])
np.linspace(1,10,5,endpoint = False)
#array([1. , 2.8, 4.6, 6.4, 8.2])
#7
np.logspace(1,2,3)
#对数尺度上进行均匀分布3份
#array([ 10. , 31.6227766, 100. ])