numpy数组,numpy索引,numpy中nan和常用方法

news/2024/12/2 21:51:20/

一:【numpy数组】

        1.1为什么要学习numpy

                1.快速   2.方便  3.科学计算的基础库

        1.2什么是numpy

                一个python中做科学计算的基础库,重在数值计算,也是大部分python科学计算库的基础库,多用于在大型,多维数组上执行数组运算

        1.3numpy的数组的创建(矩阵)

                

                 

 

       1.4数据类型的操作

                

                 

                 

 

        1.4数组的形状

                数组的形状

                        

                        reshape方法有return值,不会对数据本身进行任何修改,所以还是2行6列

                        

 

 

                                

                         

                         当shape的元组为一个值时,这个数组形状为一位的,为二个值时,数组形状为二位的

                        修改数组形状:reshape

                        

                         ‘三位数’数组见解:以下代码的(2,3,4)可以这样理解:2为一共二大块,三为每块三行,4为每块4列

                          

 

        1.5numpy中常见的更多数据类型

                

        1.6数组的计算

                数组和数的计算

                        

                 数组和数组的计算(数组都是同样的位数)

                        

                 数组与数组的计算(不同位数但行或者列维度相同)

                        行的维度相同所以进行,行计算

                         列的维度相同,进行列运算

        

                 数组与数组的计算(行和列都没有相同维度)

                        没有相同维度的数组进行计算会报错

                  广播原则:

                         

二:【numpy读取本地数据和索引】

        2.1轴

                在numpy中可以理解为方向,使用0,1,2...数字表示,对于一个一维数组,只有一个0,对于2维数组(shape(2,2)),0轴和1,对于三维数组(shape(2,2, 3)),0,1,2

                有了轴的概念之后,我们计算会更加方便,比如计算一个2维数组的平均值,必须指定是计算哪个方向上面的数字的平均值

                np.arange(0,10).reshape((2,5)),reshpe2表示0轴长度(包含数据的条数)2,1轴长度为5,2X5一共10个数据

                二维数组的轴

                        

                 三维数组的轴

                        

        2.1numpy读取本地数据

                CSV:Comma-Separated Value,逗号分隔值文件

                显示:表格状态

                源文件:换行和逗号分隔行列的格式化文本,每一行的数据表示一条记录

                由于csv便于展示,读取和写入,所以很多地方也是用csv的格式存储和传输中小型的数据,为了方便教学,我们会经常操作csv格式的文件,但是操作数据库中的数据也是很容易的实现的

                读取方法:

                        np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)

                        

                 numpy中的转置:(就是行和列的交换)

                        转置是一种变换,对于numpy中的数组来说,就是在对角线方向交换数据,目的也是为了更方便的去处理数据

                        

                        

                         

 

        2.2numpy中的索引和切片

                

                 取行:a[2]

                取连续的多行:a[2:]

                取不连续的多行a[[2,8,10]]

                取列a[:,0]  ,前操作行,逗号后操作列

                

        2.3numpy中更多的索引方式

                numpy中数值的修改

                        

                         

                         

                  numpy中布尔索引

                        

                 numpy中三元运算符

                        

               numpy中的clip(裁剪)(小于10的替换成10,大于18的替换成18)

                        

 

三:【numpy中的nan和常用方法】

        3.1数据的拼接

                

         3.2数组的行列交换:

                

        3.2numpy中的随机方法

               1.获取最大值最小值的位置

1.  np.argmax(t,axis=0)
2.  np.argmin(t,axis=1)
2.创建一个全0的数组: np.zeros((3,4))
3.创建一个全1的数组:np.ones((3,4))
4.创建一个对角线为1的正方形数组(方阵)np.eye(3)
        

                 numpy生成随机数

                        

                 分布的补充

                        1.均匀分布:相同的大小范围内的出现概率是等可能的

                                

                        2.正太分布:呈钟型,两头低,中间高,左右对称

                                

        3.3numpy中的nan和常用统计方法

                nump中的nan和inf

                        nan(NAN,Nan):not a number表示不是一个数字

                        什么时候numpy中会出现nan:

                                当我们读取本地的文件为float的时候,如果有缺失,就会出现nan

                                当做了一个不合适的计算的时候(比如无穷大(inf)减去无穷大)

                       inf(-inf,inf):infinity,inf表示正无穷,-inf表示负无穷

                       什么时候回出现inf包括(-inf+inf

                              比如一个数字除以0,(python中直接会报错,numpy中是一个inf或者-inf

                numpy中的nan的注意点

                        1.二个nan是不相等的

                        2.np.nan!=np.nan

                        3.nan和任何计算都为nan

                numpy中常用统计函数

                        求和:t.sum(axis=None)

                        均值:t.mean(a,axis=None)  受离群点的影响较大

                        中值:np.median(t,axis=None)

                        最大值:t.max(axis=None)

                        最小值:t.min(axis=None)

                        极值:np.ptp(t,axis=None) 即最大值和最小值只差

                        标准差:t.std(axis=None)

                         标准差是一组数据平均值分散程度的一种度量。一个较大的标准差,代表大部分数值和其平均值之间差异较大;一个较小的标准差,代表这些数值较接近平均值反映出数据的波动稳定情况,越大表示波动越大,约不稳定


http://www.ppmy.cn/news/6708.html

相关文章

如何定制化Spring Boot Starter,这次我终于学会了

文章目录什么是Spring Boot Starter实现步骤启动器自动配置包总结自定义Starter的实现逻辑Spring Boot Starter官网描述:Spring Boot Starter官方介绍 什么是Spring Boot Starter Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包&…

shell脚本四剑客之awk详解

文章目录awk的介绍awk能够干什么awk的格式工作原理:记录和域内建变量的用法1. FS2. OFS3.RS4. ORS5. NF6. NRBEGIN 和END语句块常见案例1. 使用NR行号提取ip2. 打印UID小于10的账号名称和UID信息3. 数学运算4. AWK打印硬盘设备名称,默认以空格为分割&…

买不到的数目(蓝桥杯C/C++A组真题详解)

题目详细: 题目思路: 对于这个题有一个定理 如果 a,b 均是正整数且互质,那么由 axby,x≥0,y≥0 不能凑出的最大数是 : a*b-a-b 具体的证明过程这里就不赘述 感兴趣的同学可以自行查找 这里就提供一种思…

Python常见问题整理

Python常见问题整理   日常使用python时,经常遇到的各种解决不了、头疼的问题,都可以记录到这里,大家群策群力,积极补充~  序号问题标题问题现象原因解决方法参考文章添加人报错截图0ModuleNotFoundError代码运行报错ModuleNot…

IMX6ULL学习笔记(15)——GPIO输出接口使用【官方SDK方式】

一、GPIO简介 i.MX6ULL 芯片的 GPIO 被分成 5 组,并且每组 GPIO 的数量不尽相同,例如 GPIO1 拥有 32 个引脚, GPIO2 拥有 22 个引脚, 其他 GPIO 分组的数量以及每个 GPIO 的功能请参考 《i.MX 6UltraLite Applications Processor Reference M…

人员工装未穿戴识别检测 opencv

人员工装未穿戴识别检测基于OpenCvyolo计算机视觉深度学习技术对现场画面中人员行为着装穿戴实时监测识别,发现不按要求着装违规行为立即抓拍存档同步后台。OpenCV-Python使用Numpy,这是一个高度优化的数据库操作库,具有MATLAB风格的语法。所…

【C语言进阶】想用好C++?那就一定要掌握动态内存管理

目录 🤩前言🤩: 一、动态内存概述⚔️: 1.什么是动态内存: 2.动态内存分配的意义: 二、常用的动态内存函数🏹: 1. malloc 和 free函数: ①. malloc 函数: …

Windows和Mac系统实现本地部署WebPageTest工具

在项目开发或者测试的过程中,由于没有上线,我们在公网上无法访问我们的网站,但同时我们又需要查看浏览器性能,这样我们就需要在本地部署WebPageTest工具以协助进行性能测试 具体实现步骤: Windows系统: …