欢迎使用CSDN-markdown编辑器
来源:互联网 发布:2016淘宝刷钻价格表 编辑:程序博客网 时间:2024/05/29 12:30
NumPy
标签: Python 数据分析
NumPy是Python科学计算的基础包,提供以下功能:
- 快速高效的多维数组对象ndarray
- 用于对数组执行元素级计算以及直接对数组执行数学运算的函数
- 用于读写硬盘上基于数组的数据集的工具
- 线性代数运算、傅里叶变换,以及随机数生成
- 用于将C、C++、Fortran代码集成到Python的工具
导入numpy库
import numpy as np
创建数组
直接创建数组
np_a=np.array([[1,2,3],[4,5,6]])
通过列表创建数组
list=[[1,2,3],[4,5,6]] np_b=np.array(list,dtype=np.float)
np.array()中dtype用于指定数据类型:bool,int,float等
查看数组信息
np_a.shape:返回数字的形状(行数,列数)
np_a.ndim:返回数组的维度数
np_a.dtype:返回数组的元素数据类型
np_a.itemsize:返回数组的元素所占的存储大小
np_a.size:返回数组的元素总个数
函数介绍
常用数组生成函数
np.zeros([2,4]):生成2行4列的全0数组
np.ones([2,4]):生成2行4列的全1数组
np.random.rand(2,4):生成一个2行4列的数组,每个元素为0到1之间的随机数(行列参数可省略,默认生成一个0到1之间的随机数)
np.random.randint(1,10,3):生成一个3个元素的数组,每个元素为1到10之间的随机整数(个数参数可省略,默认为1)
np.random.randn(2,4):生成一个2行4列的数组,元素服从标准正态分布(行列参数可省略,默认生成一个数)
np.random.choice([1,2,3,4,5,6]):随机选择数组中的一个元素
np.random.beta(1,10,3):生成一个3个元素的数组,每个元素在1到10之间,服从beta分布(个数参数可省略,默认为1)当然random中还提供了其他分布函数
np.arange(1,10,2):生成一个一维数组,元素为差为2的等差数列,范围1到10(不包含10)
常用的数组操作
np.exp(np_a):得到同尺寸数组,相应元素为
np.sqrt(np_a):得到同尺寸数组,对相应元素开平方
np.sin(np_a):得到同尺寸数组,对相应元素求sin值
np.log(np_a):得到同尺寸数组,对相应元素求log值(底数为e)
np_a.reshape(3,2):把数组np_a转换为3行2列
np_a.sum(axis=0):axis=0时对数组np_a的列求和,axis=1时对数组np_a的行求和
np_a.max(axis=0):axis=0时求每列的最大值,axis=1时求每行的最大值
np_a.min(axis=0):axis=0时求每列的最小值,axis=1时求每行的最小值
两个数组可以直接执行+、-、*、/操作,结果为对应元素的加、减、乘、除
np_a ** 2 :得到同尺寸数组,对每个元素求平方
np_a.transpose():矩阵的转置
np.dot(np_a,np_b):矩阵的乘法(np_a的列等于np_b的行)
inv():求矩阵的逆矩阵
det():求矩阵的行列式
eig():求矩阵的特征值和特征向量,返回两个数组,第一个为特征值数组,第二个为特征向量矩阵
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- mt2503[SIM]如何获取用户的电话号码MSISDNs
- Java并发工具包指南
- Python 字符编码详解
- angular 1.6 及以上路由无法跳转问题
- 多github帐号的SSH key切换
- 欢迎使用CSDN-markdown编辑器
- 为什么全连接层输入需要固定尺度
- 分布式监控系统Zabbix3.2跳坑指南
- Android:带透明度的颜色值
- 安卓代码混淆
- 工具类总结(6)-订单生成工具类
- new运算符
- SSM框架梳理(Spring+SpringMVC+MyBatis)
- Sphinx 0.9.9/Coreseek 3.2 参考手册