笔记整理:Numpy基本使用(后续会补充)

怕有道云笔记内存不够,特意将以前的笔记整理以下保存在博客,以便于以后迁移到自己搭建的博客。
1.创建一个数组(矩阵)

import numpy as np
arr = np.array([[1, 2, 3, 4], [6, 7, 8, 9], [5, 4, 3, 2]])
arr
Out[9]: 
array([[1, 2, 3, 4],
       [6, 7, 8, 9],
       [5, 4, 3, 2]])

1.1 创建一个数组(矩阵),从a到b,步长为c

import numpy as np
np.arange(1, 5, 0.5)
Out[10]: array([1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])

1.2 创建一个a*b的数组,内容是随机数

import numpy as np
np.random.random((2,2))
Out[11]: 
array([[0.04530033, 0.60120636],
       [0.45233452, 0.74633991]])

1.3 创建一个从a到b的等差数列,可以不包括终点,endpoint指明是否包含终点

np.linspace(1., 2., num=10, endpoint=False)
Out[15]: array([1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9])

1.4 a*b的1矩阵

np.linspace(1., 2., num=10, endpoint=False)
Out[15]: array([1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9])

1.5 a*b的零矩阵

np.zeros([2,2])
Out[17]: 
array([[0., 0.],
       [0., 0.]])

1.6 九九乘法表(类比map)

np.fromfunction(lambda i,j:(i+1)*(j+1), (9,9))
Out[18]: 
array([[ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.],
       [ 2.,  4.,  6.,  8., 10., 12., 14., 16., 18.],
       [ 3.,  6.,  9., 12., 15., 18., 21., 24., 27.],
       [ 4.,  8., 12., 16., 20., 24., 28., 32., 36.],
       [ 5., 10., 15., 20., 25., 30., 35., 40., 45.],
       [ 6., 12., 18., 24., 30., 36., 42., 48., 54.],
       [ 7., 14., 21., 28., 35., 42., 49., 56., 63.],
       [ 8., 16., 24., 32., 40., 48., 56., 64., 72.],
       [ 9., 18., 27., 36., 45., 54., 63., 72., 81.]])

1.7 求秩

arr = np.ones([3,3])
arr.ndim
Out[24]: 2

1.8 求维度

arr = np.ones([3,3])
arr.shape
Out[26]: (3, 3)

1.9 对矩阵进行(临时)转置

arr = np.array([[1,2,3], [4,5,6]])
arr
Out[38]: 
array([[1, 2, 3],
       [4, 5, 6]])
arr.reshape([3,2])
Out[39]: 
array([[1, 2],
       [3, 4],
       [5, 6]])

2.0 对矩阵进行转置

arr = np.array([[1,2,3], [4,5,6]])
arr.resize([3,2])
arr
Out[42]: 
array([[1, 2],
       [3, 4],
       [5, 6]])

2.1 将两个列表垂直方向拼接(参数为一个元组,另如果将3*3和4*4的列表拼接只会得到7*3的矩阵)

arr1 = np.array([[1,2,3], [4,5,6]])
arr2 = np.array([[7,8,9],[10,11,12]])
np.vstack((arr1,arr2))
Out[49]: 
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]])

2.2 将两个列表水平方向拼接

arr1 = np.array([[1,2,3], [4,5,6]])
arr2 = np.array([[7,8,9],[10,11,12]])
np.hstack((arr1,arr2))
Out[52]: 
array([[ 1,  2,  3,  7,  8,  9],
       [ 4,  5,  6, 10, 11, 12]])

2.3 矩阵所有元素相加

arr2 = np.array([[7,8,9],[10,11,12]])
arr2.sum()
Out[55]: 57

2.4 矩阵元素按列求和

arr2 = np.array([[7,8,9],[10,11,12]])
arr2.sum(axis=0)
Out[57]: array([17, 19, 21])

2.5 求矩阵中元素最大值

arr2 = np.array([[7,8,9],[10,11,12]])
arr2.max()
Out[59]: 12

2.6 求矩阵中元素最小值

arr2 = np.array([[7,8,9],[10,11,12]])
arr2.min()
Out[61]: 7

2.7. 求矩阵中元素最大值下标

arr2 = np.array([[7,8,9],[10,11,12]])
arr2.argmax()
Out[63]: 5

2.8 求矩阵中元素最小值下标

arr2 = np.array([[7,8,9],[10,11,12]])
arr2.argmin()
Out[65]: 0

2.9 求平均值

arr2 = np.array([[7,8,9],[10,11,12]])
arr2.mean()
Out[67]: 9.5

3.0 求方差

arr2 = np.array([[7,8,9],[10,11,12]])
arr2.var()
Out[69]: 2.9166666666666665

3.1 求标准差

arr2 = np.array([[7,8,9],[10,11,12]])
arr2.std()
Out[71]: 1.707825127659933

3.2 求行列式(注意,输入值必须符合行列式概念,否则报错)

arr2 = np.array([[1,2],[3,4]])
np.linalg.det(arr2)
Out[77]: -2.0000000000000004

3.3 计算逆矩阵

arr2 = np.array([[1,2],[3,4]])
np.linalg.inv(arr2)
Out[83]: 
array([[-2. ,  1. ],
       [ 1.5, -0.5]])

3.4 计算矩阵内积

arr2 = np.array([[1,2],[3,4]])
np.dot(arr2,arr2)
Out[85]: 
array([[ 7, 10],
       [15, 22]])

这一章就先写到这里….手酸

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值