numpy基本方法总结

2023-05-16


NumPy基本方法

一、数组方法

创建数组:arange()创建一维数组;array()创建一维或多维数组,其参数是类似于数组的对象,如列表等

读取数组元素:如a[0],a[0,0]

数组变形:如b=a.reshape(2,3,4)将得到原数组变为2*3*4的三维数组后的数组;或是a.shape=(2,3,4)或a.resize(2,3,4)直接改变数组a的形状

数组组合:水平组合hstack((a,b))或concatenate((a,b),axis=1);垂直组合vstack((a,b))或concatenate((a,b),axis=0);深度组合dstack((a,b))

数组分割(与数组组合相反):分别有hsplit,vsplit,dsplit,split(split与concatenate相对应)

将np数组变为py列表:a.tolist()

数组排序(小到大):列排列np.msort(a),行排列np.sort(a),np.argsort(a)排序后返回下标

复数排序:np.sort_complex(a)按先实部后虚部排序

数组的插入:np.searchsorted(a,b)将b插入原有序数组a,并返回插入元素的索引值

类型转换:如a.astype(int),np的数据类型比py丰富,且每种类型都有转换方法

条件查找,返回满足条件的数组元素的索引值:np.where(条件)

条件查找,返回下标:np.argwhere(条件)

条件查找,返回满足条件的数组元素:np.extract([条件],a)

根据b中元素作为索引,查找a中对应元素:np.take(a,b)一维

数组中最小最大元素的索引:np.argmin(a),np.argmax(a)

多个数组的对应位置上元素大小的比较:np.maximum(a,b,c,…..)返回每个索引位置上的最大值,np.minimum(…….)相反

将a中元素都置为b:a.fill(b)

每个数组元素的指数:np.exp(a)

生成等差行向量:如np.linspace(1,6,10)则得到1到6之间的均匀分布,总共返回10个数

求余:np.mod(a,n)相当于a%n,np.fmod(a,n)仍为求余且余数的正负由a决定

计算平均值:np.mean(a)

计算加权平均值:np.average(a,b),其中b是权重

计算数组的极差:np.pth(a)=max(a)-min(a)

计算方差(总体方差):np.var(a)

标准差:np.std(a)

算术平方根,a为浮点数类型:np.sqrt(a)

对数:np.log(a)

点积(计算两个数组的线性组合):np.dot(a,b),即得到a*b(一维上是对应元素相乘,多维可将a*b视为矩阵乘法

修剪数组,将数组中小于x的数均换为x,大于y的数均换为y:a.clip(x,y)

所有数组元素乘积:a.prod()

数组元素的累积乘积:a.cumprod()

数组元素的符号:np.sign(a),返回数组中各元素的正负符号,用1和-1表示

数组元素分类:np.piecewise(a,[条件],[返回值]),分段给定取值,根据判断条件给元素分类,并返回设定的返回值。

判断两数组是否相等: np.array_equal(a,b)

判断数组元素是否为实数: np.isreal(a)

去除数组中首尾为0的元素:np.trim_zeros(a)

对浮点数取整,但不改变浮点数类型:np.rint(a)

 

二、数组属性

1.获取数组每一维度的大小:a.shape

2.获取数组维度:a.ndim

3.元素个数:a.size

4.数组元素在内存中的字节数:a.itemsize

5.数组字节数:a.nbytes==a.size*a.itemsize

6.数组元素覆盖:a.flat=1,则a中数组元素都被1覆盖

7.数组转置:a.T

三、矩阵方法

创建矩阵:np.mat(‘…’)通过字符串格式创建,np.mat(a)通过数组创建,也可用matrix或bmat函数创建

创建复合矩阵:np.bmat(‘A B’,’AB’),用A和B创建复合矩阵AB(字符串格式)

创建n*n维单位矩阵:np.eye(n)

矩阵的转置:A.T

矩阵的逆矩阵:A.I

计算协方差矩阵:np.cov(x),np.cov(x,y)

计算矩阵的迹(对角线元素和):a.trace()

相关系数:np.corrcoef(x,y)

给出对角线元素:a.diagonal()

四、多项式

多项式拟合:poly= np.polyfit(x,a,n),拟合点集a得到n级多项式,其中x为横轴长度,返回多项式的系数

多项式求导函数:np.polyder(poly),返回导函数的系数

得到多项式的n阶导函数:多项式.deriv(m = n)

多项式求根:np.roots(poly)

多项式在某点上的值:np.polyval(poly,x[n]),返回poly多项式在横轴点上x[n]上的值

两个多项式做差运算: np.polysub(a,b)

四、线性代数

估计线性模型中的系数:a=np.linalg.lstsq(x,b),有b=a*x

求方阵的逆矩阵:np.linalg.inv(A)

求广义逆矩阵:np.linalg.pinv(A)

求矩阵的行列式:np.linalg.det(A)

解形如AX=b的线性方程组:np.linalg.solve(A,b)

求矩阵的特征值:np.linalg.eigvals(A)

求特征值和特征向量:np.linalg.eig(A)

Svd分解:np.linalg.svd(A)

五、概率分布

产生二项分布的随机数:np.random.binomial(n,p,size=…),其中n,p,size分别是每轮试验次数、概率、轮数

产生超几何分布随机数:np.random.hypergeometric(n1,n2,n,size=…),其中参数意义分别是物件1总量、物件2总量、每次采样数、试验次数

产生N个正态分布的随机数:np.random.normal(均值,标准差,N)

产生N个对数正态分布的随机数:np.random.lognormal(mean,sigma,N)

 

 

Matpoltlib简单绘图方法

引入简单绘图的包import matplotlib.pyplot as plt,最后用plt.show()显示图像

基本画图方法:plt.plot(x,y),plt.xlabel(‘x’),plt.ylabel(‘y’),plt.title(‘…’)

子图:plt.subplot(abc),其中abc分别表示子图行数、列数、序号

创建绘图组件的顶层容器:fig = plt.figure()

添加子图:ax = fig.add_subplot(abc)

设置横轴上的主定位器:ax.xaxis.set_major_locator(…)

绘制方图:plt.hist(a,b),a为长方形的左横坐标值,b为柱高

绘制散点图:plt.scatter(x,y,c = ‘..’,s = ..),c表示颜色,s表示大小

添加网格线:plt.grid(True)

添加注释:如ax.annotate('x', xy=xpoint, textcoords='offsetpoints',xytext=(-50, 30), arrowprops=dict(arrowstyle="->"))

   

增加图例:如plt.legend(loc='best', fancybox=True)

对坐标取对数:横坐标plt.semilogx(),纵坐标plt.semilogy(),横纵同时plt.loglog()

 


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

numpy基本方法总结 的相关文章

  • 老程序员给的10条建议,句句经典

    1 想清楚 xff0c 再动手写代码 刚入行的新手 xff0c 为了展示自己的能力 xff0c 拿到需求迫不及待地就开始上手写代码 xff0c 大忌 xff01 2 不交流 xff0c 就会头破血流 不爱说话和沟通 xff0c 需求都理解错
  • Clickhouse快速上手 原理篇

    1 背景 公司目前使用Greenplum作为报表实时聚合查询的OLAP数据库 xff0c 当时主要是其使用门槛相对较低 xff0c 同时支持事务 xff0c 能在用户访问时候事务更新数据 xff0c 使用云厂商的产品 xff0c 技术支持也
  • Clickhouse快速上手 使用篇

    接着clickhouse原理篇 xff0c 下面来介绍他的具体使用场景 xff0c 包括数据导入 xff0c 更新等 文章目录 1 数据导入调研计划实施1 cos文件系统集成2 编码获取 2 数据更新和使用 1 数据导入 根据官方介绍 Cl
  • linux基本服务之sshd

    这段时间在学习linux常用服务 xff0c 这里将学习内容以及自己的实验心得记录下来 在自己忘记的时候也好复习 实验环境 xff1a centos 6 7 64bit 1 简介 SSHD服务 介绍 xff1a SSH协议 xff1a 安全
  • Git+VSCode基本使用

    前言 由于工作需要 xff0c 最近简单学习了git xff0c 巧合发现了VSCODE编辑器正好集成了git命令 xff0c 使得本地代码管理变得更加容易 因为最后是在linux下交叉编译 xff0c 但是我更习惯windows下写代码
  • 掌握音频开发基础知识

    文章目录 基本概念几种CODEC介绍实时调度相关缓冲区两种类型编写要点遇到的问题 解码能力的自适应混音模块回声消除的延时控制能量统计双声道支持ALSA设备 代码相关 基本概念 采样率 Hz 每秒去取样本的个数 xff0c eg 48000H
  • CSDN日报20170616 ——《从裁缝到码农》

    程序人生 从裁缝到码农 作者 xff1a 修电脑的裁缝酱 我伸出颤抖的手去抓 xff0c 发现曾经遥不可及的梦想 xff0c 经过坚持和努力之后 xff0c 真的可以抓住 我把它抓在手心 xff0c 紧紧地 点击阅读全文 机器学习 一文了解
  • Java中char类型详解

    1 基本定义 char类型的值可以表示为十六进制值 xff0c 其范围从 u0000 到 uffff xff0c 由两个字节构成 char类型原本用于表示单个字符 xff0c 但是现在情况有所变化 xff0c 有些Unicode字符需要一个
  • Git命令行简单使用小结

    最近复习了一下git 总结了一下命令行的基本使用 0 基本理论 a 基本概念 Working Directory 就是平时存放项目代码的地方 Stage Index 用于临时存放改动 事实上他只是一个文件 保存即将提交的文件列表信息 Rep
  • 无外接环境下,单笔记本直连浪潮服务器BMC灌装系统

    1 环境因素 xff1a 单服务器无网络无显示器等外接 xff0c 需要对浪潮防火墙灌装系统 xff1b 2 所需材料 xff1a 1 浪潮服务器 2 可接网线笔记本电脑 xff08 Windows平台 xff09 3 网线一根 3 连接拓
  • python抽样方法详解及实现

    抽样方法概览 随机抽样 总体个数较少 每个抽样单元被抽中的概率相同 xff0c 并且可以重现 随机抽样常常用于总体个数较少时 xff0c 它的主要特征是从总体中逐个抽取 1 抽签法 2 随机数法 xff1a 随机数表 随机数骰子或计算机产生
  • ROS 1.0 学习笔记(6)CMakeLists.txt 使用说明

    ROS1中每个PKG的配置都是在CMakeList txt中 xff0c 本文从官方 WiKi 资料中翻译而来 1 概览 文件CMakeLists txt是CMake编译系统的配置文件 xff0c 用于配置需要编译软件包 任何兼容CMake
  • LQR控制算法推导以及简单分析

    首先 xff0c 这篇文章是看了几个大神的博客后 xff0c 自己抄录以及整理的内容 xff0c 其中有些自己的想法 xff0c 但是原理部分基本都是学习大神们的 xff0c 在此先说明一下 1 全状态反馈控制系统 在介绍LQR之前 xff
  • C++ Primer(第五版)|练习题答案与解析(第三章:字符串、向量和数组)

    C 43 43 Primer 第五版 练习题答案与解析 第三章 字符串 向量和数组 本博客主要记录C 43 43 Primer 第五版 中的练习题答案与解析 参考 C 43 43 Primer C 43 43 Primer 练习题3 2 编
  • ROS学习(五)导航、路径规划、SLAM

    主要涉及到3个基本包 用于让机器人在制定框架内移动到目标位置的move base包 用于从激光扫描仪 深度摄像机来绘制地图的gmapping包 用于在现有的地图中定位的amcl包 先阅读 http wiki ros org navigati
  • 微服务架构模型和进程间通信

    微服务架构 微服务的扩展模型X轴扩展在多个相同实例之间实现请求的负载均衡Y轴扩展根据功能将应用程序拆分为服务Z轴扩展根据请求的属性路由请求微服务架构与SOA的异同微服务架构的好处微服务架构的弊端 微服务进程间通信基于同步远程过程调用模式的通
  • 关于搭建guacamole-server.1.4.0简单步骤,及问题记录

    问题1 xff1a 在guacamole server 1 4 0目录下 xff0c 执行 configure 发现记录中出现以下警告 xff0c 并且VNC没有成功加载 xff08 libvncserver devel已经导入yum的情况
  • 【获奖公布】征文 | 你会为 AI 转型么?

    AI xff08 Artificial Intelligence xff09 xff0c 即人工智能 人工智能领域的研究包括机器人 语音识别 图像识别 自然语言处理和专家系统等 人工智能从诞生以来 xff0c 理论和技术日益成熟 xff0c
  • spring security filter

    一 spring security过滤器默认配置 WebSecurityConfigurerAdapter init WebSecurityConfigurerAdapter getHttp new HttpSecurity new Fil
  • 金属氢化物Fluent传热仿真论文复现(UDF加载能量源项)

    关于金属氢化物的传质传热 xff0c 论文有相应的公式 xff0c 主要是通过六个方程 xff1a 能量守恒 动量守恒 动力学方程 热力学方程和理想气态方程 相应的公式解释在这里不作过多的解释 xff0c 以后有时间 xff0c 我会专门写

随机推荐