numpy快速入门
Posted --believe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy快速入门相关的知识,希望对你有一定的参考价值。
一 Numpy概述
1.定义
开源的python科学计算库
用于快速处理任意维度的数组
Numpy中存储对象ndarray
2.创建
np.array
3.优势
内存块风格,一体化存储
支持并行化运算
效率高与纯python–底层使用了c
二 N维数组 ndarray
1.ndarray的属性
属性名字 属性解释
ndarray.shape 数组维度元组
ndarray.ndim 数组维度
ndarray.size 数组中元素数量
ndarray.itemsize 一个数组元素的长度
ndarray.dtype 数组元素的类型
2.ndarray的类型
-
bool
-
int
-
float
-
str
注意:若不指定,整数默认int64,float64
三 基本操作
1.生成数组的方法
生成0,1的方法
- np.ones()
- np.ones_like()
- np.zeros()
1.2 从现有的数组中生成
np.array–深拷贝
np.asarray–浅拷贝
1.3生成固定范围的数组
-
np.linspace()
生成等间距的n个
-
np.arange()
每隔多少个生成数据
-
np.logspace
生成以10的N次幂的数据
1.4生成随机数组
均匀分布生成
np.random.uniform()
参数:low,high,size
正态分布
np.random.normal()
参数:均值,方差,size
均值:图形的左右位置
方差:图像是瘦还是胖
值越小,图形瘦高,数据越集中
值越大,图形矮胖,数据越分散
2.数组的索引、切片
直接索引
先对行进行索引,再对列进行索引
3.类型的修改
对象.astype
4.数组去重
np.unique()
四 ndarray运算
1.逻辑运算
大于,小于直接进行判断
赋值:满足要求,直接进行赋值
a = np.array([[1, 2, 3, 4, 4], [1, 2, 3, 3, 5]])
a >= 4
a[a >= 4] = 0 # 可以根据bool进行赋值
a
2.通用判断函数
np.all()
所有满足要求,才返回True
np.any()
只有一个满足要求,就返回True
3.三元运算符
np.where()
满足要求赋值第一个值,否则赋值第二个值
a = np.array([[1, 2, 3, 4, 4], [1, 2, 3, 3, 5]])
np.where(a>1,1,0)# 第一个参数逻辑判断,第二三个参数赋对应的值
np.logical_and()
np.logical_or()
a = np.array([[1, 2, 3, 4, 4], [1, 2, 3, 3, 5]])
np.where(np.logical_and(a>=4,a<=5),1,0)
4.统计运算
min
max
midian–中位数
mean–平均值
std–标准差
var–方差
argmax–最大值下标
argmin–最小值下标
五 矩阵
1.矩阵和向量
矩阵:二维数组
向量:一维数组,行向量和列向量
2.加法和标量乘法
加法:对应位置相加
乘法:标量和每个位置的元素相乘
3.矩阵向量乘法
【M行,N列】x【N行,O列】=【M行,O列】
4.矩阵乘法性质
满足结合律不满足交换律
5.单位矩阵
对角线为1,其他位置为0的矩阵
6.逆矩阵
矩阵A*举证B=单位矩阵I
那么A和B互为逆矩阵
7.转置
行列互换
六 数组间运算
1.数组和数字是直接可以进行运算
2.数组和数组
满足广播机制
纬度相同
shape对应位置为1
import numpy as np
arr1 = np.array([1, 2])
arr2 = np.array([[1], [1], [1], [1]])
arr1+arr2
3.矩阵乘法api
np.dot–点乘
np.matmul–矩阵相乘
注意:np.dot既可以进行标量相乘,也可以进行向量乘法。np.matnul只能进行向量乘法
import numpy as np
arr1 = np.array([1, 2])
num=3
arr2 = np.array([[2], [2]])
res1=np.dot(arr1,1)
res1
res2=np.dot(arr1,arr2)
res2
res3=np.matmul(arr1,arr2)#只能两个矩阵相乘
res3==res2
numpy官网文档
以上是关于numpy快速入门的主要内容,如果未能解决你的问题,请参考以下文章