Numpy入门笔记
大家知道,我们正处于大数据、人工智能的热潮,python因为其学习成本低、使用灵活等特点成为了热门语言。Numpy作为一个强大的python模块,在数据分析、机器学习等情景有了很重要的应用。下面就跟着狗头的笔记来一起学习一下吧!
Numpy的安装
方法1:官网下载 找到Getting Started 就可以找到安装方法
方法2:使用pip直接安装
pip install numpy
基础知识
首先打开python
1.import Numpy 模块
import numpy as np # 命名为np (约定俗成)
2.矩阵
创建一个2X3的矩阵
matrix = np.array([ [1,2,3], [4,5,6] ])
定义矩阵的数值类型
np.array([77,88,99], dtype=np.int32)
np.array([77,88,99], dtype=np.int64) # 默认的int
np.array([77,88,99], dtype=np.float32)
np.array([77,88,99], dtype=np.float64) # 默认的float
创建一个3X3的矩阵元素全为0或1
np.zeros((3,3))
np.ones((3,3))
np.ones((3,3),dtype=np.int16) # 同样的也可以改变他的数值类型
(伪)空矩阵
np.empty((2,2))
生成有序数列
np.arange(5) # [0 1 2 3 4]
np.arange(3,8) # [3 4 5 6 7]
np.arange(2,10,2) # [2 4 6 8]
也可以指定序列元素的个数
np.linspace(1,10,5) # [1 3.25 5.5 7.75 10] 间隔9/4=2.25
由序列生成矩阵
# 将[0,1,2,3,4,5,6,7,8] 变成 3X3 的矩阵(按行排列)
np.arange(9).reshape((3,3))
3.查看属性
矩阵的维度
matrix.ndim
矩阵的形状
matrix.shape
矩阵的元素个数
matrix.size
矩阵的数值类型
matrix.type
判断元素大小
matrix < 3 # 返回True 或 False 的列表
matrix > 3
matrix == 3
元素求和
np.sum(matrix)
np.sum(matrix, axis=0) # 求每一行的和
np.sum(matrix, axis=1) # 求每一列的和
求最大或最小元素
np.max(matrix)
np.max(matrix, axis=0) # 求每一行的最大值
np.max(matrix, axis=1) # 求每一列的最大值
np.min(matrix)
np.min(matrix, axis=0) # 求每一行的最小值
np.min(matrix, axis=1) # 求每一列的最小值
求最大或最小值的索引
np.argmax(matrix)
np.argmin(matrix)
# 也可以指定行列,同上
求平均值、中位数、累加和、累计差
np.mean(matrix)
matrix.mean()
np.average(matrix)
np.median(matrix)
np.cumsum(matrix)
np.diff(matrix)
逐行排序
np.sort(matrix)
4.简单运算
加减法(对应位置元素相加减)
a = np.array([10, 20, 30, 40])
b = np.arange(4)
a + b
a - b
乘除法(对应位置元素相乘除)
a * b
a / b
每个元素取次方
b**2 # 平方
b**3 # 立方
三角函数
np.sin(a)
np.cos(a)
np.tan(a)
矩阵乘法
m1 = np.array([ [1,1], [0,1] ])
m2 = np.arange(4).reshape((2,2))
np.dot(m1,m2)
m1.dot(m2) # 两种方法一样
矩阵转置
np.tanspose(m1)
m1.T
矩阵裁切
np.clip(matrix,3,8)
#小于3的元素都变成3,大于8的元素都变成8
5.随机数
随机生成矩阵
np.random.seed(123)
np.random.random((2,4))
np.random.randint(8)
np.random.randint(4,10,size=6)
np.random.uniform() # 默认0到1的均匀分布
np.random.uniform(1,6)
numpy.random.normal(loc=0.0, scale=1.0, size=None) # 正态分布随机