NumPy入门学习(四)函数

 

一、创建数组的函数

创建不同元素值的多维数组 array() 根据输入数据创建多维数组
ones() 创建元素全为1的多维数组
zeros() 创建元素全为0的多维数组
full() 创建元素全为指定值的多维数组
创建指定元素值的二维数组 eye() 创建对角矩阵形式的二维数组
创建指定元素值得一维数组 linspace() 创建等差数列的一维数组,指定开始值、终值和步长
arange() 创建等差数列的一维数组,指定开始值、终值和元素个数
创建随机元素值的多维数组 random.ramdint() 创建指定上下限范围的随机数组
random.binomial() 创建符合二项分布的随机数组
random.normal() 创建符合指定正态分布的随机数组
random.randn() 创建符合标准正态分布的随机数组
random.rand() 创建0-1之间均匀分布的随机数组
array_one = np.ones(shape=(2, 4))
print(array_one)
"""
[[1. 1. 1. 1.]
 [1. 1. 1. 1.]]
"""
array_full = np.full(shape=(2, 4), fill_value=10)
print(array_full)
"""
[[10 10 10 10]
 [10 10 10 10]]
"""
array_eye = arr_eys = np.eye(4, M=6)
print(array_eye)
"""
 [[1. 0. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0. 0.]
 [0. 0. 1. 0. 0. 0.]
 [0. 0. 0. 1. 0. 0.]]
"""
array_linspace = np.linspace(start=0, stop=5, num=10, endpoint=False)
print(array_linspace)
"""
[0.  0.5 1.  1.5 2.  2.5 3.  3.5 4.  4.5]
"""
np.random.seed(1)  
array_randint = np.random.randint(1, 4, size=10)
print(array_randint)
"""
[2 1 1 2 2 1 1 2 1 2]
"""
np.random.seed(1)
array_binomial = np.random.binomial(1, 0.5, size=10)
print(array_binomial)
"""
[1 1 1 0 1 0 0 1 1 0]
"""
np.random.seed(1)  
array_randn = np.random.randn(3, 4)
print(array_randn)
"""
[[ 1.62434536 -0.61175641 -0.52817175 -1.07296862]
 [ 0.86540763 -2.3015387   1.74481176 -0.7612069 ]
 [ 0.3190391  -0.24937038  1.46210794 -2.06014071]]
"""
np.random.seed(1) 
array_rand = np.random.rand(3, 4)
print(array_rand)
"""
[[4.17022005e-01 7.20324493e-01 1.14374817e-04 3.02332573e-01]
 [1.46755891e-01 9.23385948e-02 1.86260211e-01 3.45560727e-01]
 [3.96767474e-01 5.38816734e-01 4.19194514e-01 6.85219500e-01]]
"""
np.random.seed(1) 
array_normal = np.random.normal(loc=10.0, scale=1.0, size=(1,3,2))
print(array_normal)
"""
[[[11.62434536  9.38824359]
  [ 9.47182825  8.92703138]
  [10.86540763  7.6984613 ]]]
"""

二、元素级处理函数

一元函数 abs() 计算数组元素的绝对值
  exp() 计算以e为底的指数函数
  sqrt() 计算数组元素的平方根
  squart() 计算数组元素的平方
  sign() 计算数组元素的正负号
  isnan() 计算数组元素是否为NaN
二元函数 add() 数组之间相加
  multiply() 数组之间相乘
  subtract() 数组之间相减
  divide() 数组之间相除
三元表达式 where() 满足条件时输出x,不满足时输出y
array_4x3_234 = np.array([[1, 0, 1], [-2, 2, 2], [3, -3, 3], [4, 4, -4]])
array_sign = np.sign(array_4x3_234)
print(array_sign)
"""
[[ 1  0  1]
 [-1  1  1]
 [ 1 -1  1]
 [ 1  1 -1]]
"""
array_4x3_235 = np.array([[1, 1, 1], [-2, np.nan, 2], [3, np.nan, 3], [4, 4, -4]])
array_isnan = np.isnan(array_4x3_235)
print(array_isnan)
"""
[[False False False]
 [False  True False]
 [False  True False]
 [False False False]]
"""
array_4x3_236 = np.array([[1, 1, 1], [-2, 8, 2], [3, 9, 3], [4, 4, -4]])
array_where = np.where(array_4x3_236 > 5, 5, 0)
print(array_where)
"""
[[0 0 0]
 [0 5 0]
 [0 5 0]
 [0 0 0]]
"""

三、线性代数

dot() 两个矩阵的点积
linalg.inv() 计算矩阵的乘法逆矩阵
linalg.solve() 线性矩阵方程
A = np.mat([[1, 2], [3, 4]])
B = np.mat([[1, 2], [3, 4]])
print(np.dot(A, B))
"""
[[ 7 10]
[15 22]]
"""
A = np.mat([[1, 2], [3, 4]])
B = np.linalg.inv(A)
print(A)
"""
[[1 2]
 [3 4]]
"""
print(B)
"""
[[-2.   1. ]
 [ 1.5 -0.5]]
"""
A = np.mat([[1, 1, 1], [0, 2, 5], [2, 5, -1]])
B = np.mat([[6], [-4], [27]])
print('计算:A^(-1)B:')
X = np.linalg.solve(A, B)
print(X) 
"""
[[ 5.]
 [ 3.]
 [-2.]]
"""

 

你可能感兴趣的:(NumPy,python,numpy)