数据分析——numpy教程

1.NumPy:

是Python的一个开源的数值计算库。可以用来存储和处理大型矩阵,比python自身的嵌套列表结构要高效,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅里叶变换、基本线性函数,基本统计运算和随机模拟等。

2.Jupyter NoteBook

Web应用程序,用途是数据清理和转换,数值模拟,统计建模,机器学习等

运行外部python文件:

%run *.py

计算statement运行时间:

%time statement                一般用于耗时比较长的代码

%timeit statement                  会多次运行statement,得到一个更精准的时间,一般用于耗时较短的

返回当前会话的所有变量和函数名称:

%who_ls

3.Numpy数组:

1.使用np.array()创建

numpy默认ndarray的所有元素类型都是相同的,如果传进来的列表包含不同的类型,则统一为同一类型,优先级str>float>int

ndarray的常见数据类型:int、float、str

2.使用np的routines函数创建

  1. 创建一个所有元素都为一的多维数组:np.ones(shape,dtype=None,order='C')

shape:形状

dtype=None:元素类型

order:{'C','F'},默认值为C,C(行主序),F(列主序)

  1. 创建一个所有元素都为0的多维数组:np.zeros(shape,dtype=None,order='C')

dtype默认值为float

  1. 创建一个所有元素都为指定元素的多维数组:np.full(shape,fill_value,dtype=None,order='C')

shape:形状

fill_value:填充值

dtype=None:元素类型

order:{'C','F'},默认值为C,C(行主序),F(列主序)

  1. 创建一个对角线为1其他位置为0的二维数组:np.eye(N,M=None,k=0,dtype=None)

N:行数

M:列数,默认为None,表示和行数一样

k=0:向右偏移0个位置

dtype默认值为float

  1. 创建一个等差数列:np.linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None)

start:开始值

stop:结束值

num=50:等差数列中默认有50个数

endpoint=True:是否包含结束值

retstep=Flase:是否返回等差值

dtype=None:元素类型

  1. 创建一个数值范围的数组(和python的range类似): np.arange(start,stop,step,dtype=None)

start:开始值

stop:结束值

step:步长

dtype=None:元素类型

  1. 创建一个随机整数的多维数组:np.random.randint(low,high=None,size=None,dtype='l')

low:最小值

high:最大值

  1. high=None时,生成的数值在[0,low]区间

size=None,数组形状,默认只输出一个随机值

dtype=None:元素类型

  1. 创建一个都为1的服从标准正态分布的多维数组:np.random.randn(d0,d1,…,dn)

dn:第n个维度的数值

  1. 创建一个服从正态分布的多维数组:np.random.normal(loc=0.0,scale=0.0,size=None)

loc=0.0:均值,对应正态分布的多维数组

scale:标准差,对应分布的宽度,scale越大,正态分布的曲线越矮胖,scale越小,曲线越高瘦

size=None:数组形状

  1. 创建一个元素为 [ 0,1 )的随机数的多维数组:np.random.random(size=None)

size=None:数组形状

  1. 创建一个元素为 [ 0,1 )的随机数的多维数组:np.random.rand(),与np.random.random(size=None)类似:

dn:第n个维度的数值

4.ndarray属性:

ndim:维度

shape:形状(有几个数字就表示几维)

size:总数据数量

dtype:元素类型

5.索引:

一维与列表完全一致,多维时同理,可通过索引修改数组

6.切片:

一维与列表一致,多维同理。

翻转:

二维数组行操作:

二维数组取单行:

二维数组取连续多行:

取不连续多行:

二维数组列操作:

二维数组取单列:

二维数组取连续多列:

取不连续多列:

7.数组变形reshape

-1表示任意剩余维度的长度:

8.级联:np.concatenate()

参数是列表或元组

级联的数组为度必须相同,

可以通过axis参数改变联的方向,axis=0:第一个维度,axis:第二个维度…..

水平级联:

np.hstack()

垂直级联:

np.vstack()

9.拆分:

垂直拆分:np.vsplit()

按照指定位置拆分

水平拆分:np.hsplit()

水平或垂直拆分:split() (axis=0行,axis=1列)

10.数组拷贝:

copy()创建副本

11.聚合操作:

  1. 求和:np.sum

  1. np.max():最大值
  2. np.min():最小值
  3. np.mean():平均值
  4. np.average():平均值
  5. np.median():中位数
  6. np.percentile(n,q=50):百分位数,q=50代表中位数
  7. np.argmax():第一个最大值对应下标
  8. np.argmin():第一个最小值对应的下标
  9. np.power(n,3):次方,此处为3次方
  1. np.std():标准差
  2. np.var():方差
  3. np.nansum():排Nan值求和

12.矩阵操作

基本矩阵操作:

算术运算符:加减乘除、整除(//)、次方(**)、余数(%)

矩阵和矩阵之间运算

数与矩阵运算

矩阵乘积:

矩阵与矩阵相乘,np.dot

矩阵逆运算:np.linalg.inv()

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

矩阵秩:np.linalg.maxtrix_rank(n)

广播机制:

为不同维度的矩阵尽量提供运算的可能性

规则一:为缺失的维度补维度

规则二:缺失元素用已有值填充

其他数学操作:

np.abs():绝对值

np.sqrt():平方根

np.square():平方

np.exp():指数e

np.log():自然对数,以e为底的对数

np.sin():正弦

np.cos():余弦

np.tan():正切

np.round():四舍五入   eg:np.round(n,2)小数点2位四舍五入

np.ceil():向上取整

np.floor():向下取整

np.cumsum():累加

13.排序操作:

np.sort():不改变输入排序

ndarray().sort():本地处理,不占用空间,但是改变输入

14.文件操作:

np.save():保存ndarray到一个npy文件

np.savez():将多个ndarray到一个npz文件中

np.savetxt():保存到csv或txt中

np.load():读取文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/45465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MKS电源管理软件OPTIMA RPDG DCG系列RF Elit600系列

MKS电源管理软件OPTIMA RPDG DCG系列RF Elit600系列

数据结构——考研笔记(三)线性表之单链表

文章目录 2.3 单链表2.3.1 知识总览2.3.2 什么是单链表2.3.3 不带头结点的单链表2.3.4 带头结点的单链表2.3.5 不带头结点 VS 带头结点2.3.6 知识回顾与重要考点2.3.7 单链表的插入和删除2.3.7.1 按位序插入(带头结点)2.3.7.2 按位序插入(不带…

数学建模·灰色关联度

灰色关联分析 基本原理 灰色关联分析可以确定一个系统中哪些因素是主要因素,哪些是次要因素; 灰色关联分析也可以用于综合评价,但是由于数据预处理的方式不同,导致结果 有较大出入 ,故一般不采用 具体步骤 数据预处理…

wps批量删除空白单元格

目录 原始数据1.按ctrlg键2.选择“空值”,点击“定位”3. 右击,删除单元格修改后的数据 原始数据 1.按ctrlg键 2.选择“空值”,点击“定位” 如图所示,空值已被选中 3. 右击,删除单元格 修改后的数据

微软Office PLUS办公插件下载安装指南

微软OfficePLUS插件下载安装指南 简介: OfficePLUS微软官方出品的Office插件 ,OfficePLUS拥有30万高质量模板素材,能帮助Word、Excel、Powerpoint、PDF等多种办公软件提升效率,具有智能化、模板质量高、运行快、稳定性强等优点。…

昇思25天学习打卡营第11天|RNN实现情感分类

概述 情感分类是自然语言处理中的经典任务,是典型的分类问题。本节使用MindSpore实现一个基于RNN网络的情感分类模型,实现如下的效果: 输入: This film is terrible 正确标签: Negative 预测标签: Negative输入: This film is great 正确标…

Mongodb复合索引

学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第90篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题,欢迎在文章下面点个赞,或者关…

【计算机毕业设计】002基于weixin小程序家庭记账本

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

【实战:python-Django发送邮件-短信-钉钉通知】

一 Python发送邮件 1.1 使用SMTP模块发送邮件 import smtplib from email.mime.text import MIMEText from email.header import Headermsg_from 306334678qq.com # 发送方邮箱 passwd luzdikipwhjjbibf # 填入发送方邮箱的授权码(填入自己的授权码,相当于邮箱…

鸿蒙语言基础类库:【@ohos.uitest (UiTest)】 测试

UiTest UiTest提供模拟UI操作的能力,供开发者在测试场景使用,主要支持如点击、双击、长按、滑动等UI操作能力。 该模块提供以下功能: [By]:提供控件特征描述能力,用于控件筛选匹配查找。[UiComponent]:代…

昇思25天学习打卡营第7天 | 基于MindSpore的GPT2文本摘要

本次打卡基于gpt2的文本摘要 数据加载及预处理 from mindnlp.utils import http_get# download dataset url https://download.mindspore.cn/toolkits/mindnlp/dataset/text_generation/nlpcc2017/train_with_summ.txt path http_get(url, ./)from mindspore.dataset impor…

以太坊(以太坊solidity合约)

以太坊(以太坊solidity合约) 1,以太坊2,开发名词解释(1)钱包(2)Solidity(3)Ether(以太币)(4)Truffle&#xff…

Redis 7.x 系列【23】哨兵模式

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 工作原理2.1 监控2.2 标记下线2.3 哨兵领袖2.4 新的主节点2.5 通知更新 3. …

请求响应(后端必备)

一、请求 1.简单参数 原始方式: 在原始的web程序中,获取请求参数,需要通过HttpServletRequest对象手动获取 RequestMapping("/simpleParam")public String simpleParam(HttpServletRequest request){String name request.getP…

什么叫价内期权?直接带你了解期权价内期权怎么使用?!

今天带你了解什么叫价内期权?直接带你了解期权价内期权怎么使用?!价内期权是具有内在价值的期权。期权持有人行权时,对看涨期权而言,行权价格低于标的证券结算价格;对看跌期权而言,标的证券结算…

js 请求blob:https:// 图片

方式1 def get_file_content_chrome(driver, uri):result driver.execute_async_script("""var uri arguments[0];var callback arguments[1];var toBase64 function(buffer){for(var r,nnew Uint8Array(buffer),tn.length,anew Uint8Array(4*Math.ceil(t/…

前端Vue组件化实践:自定义加载组件的探索与应用

在前端开发领域,随着业务逻辑复杂度的提升和系统规模的不断扩大,传统的开发方式逐渐暴露出效率低下、维护困难等问题。为了解决这些挑战,组件化开发作为一种高效、灵活的开发模式,受到了越来越多开发者的青睐。本文将结合实践&…

Java基础及进阶

JAVA特性 基础语法 一、Java程序的命令行工具 二、final、finally、finalize 三、继承 class 父类 { //代码 }class 子类 extends 父类 { //代码 }四、Vector、ArrayList、LinkedList 五、原始数据类型和包装类 六、接口和抽象类 JAVA进阶 Java引用队列 Object counter ne…

PostgreSQL行级安全策略探究

前言 最近和朋友讨论oracle行级安全策略(VPD)时,查看了下官方文档,看起来VPD的原理是针对应用了Oracle行级安全策略的表、视图或同义词发出的 SQL 语句动态添加where子句。通俗理解就是将行级安全策略动态添加为where 条件。那么PG中的行级安全策略是怎…

使用UDP通信接收与发送Mavlink2.0协议心跳包完整示例

1.克隆mavlink源码 https://github.com/mavlink/mavlink.git 2.进入mavlink目录,安装依赖 python3 -m pip install -r pymavlink/requirements.txt 3.生成Mavlink的C头文件 mavlink % python3 -m pymavlink.tools.mavgen --lang=C --wire-protocol=2.0 --output=generated…