python nan判断_Python数据分析:Numpy基本操作
NumPy:数组计算
NumPy是高性能科学计算和数据分析的基础包。它是Pandas等其他各种工具的基础
NumPy的主要功能:
ndarray,一个多维数据结构,高校且节省空间
无需循环即可对整组数据进行快速运算的数学函数
读写磁盘数据的工具以及用于操作内存映射文件的工具
线性代数、随机数生成和傅里叶变化功能
用于集成C、C++等代码的工具
安装方法:pip install numpy(如果显示命令不存在可以尝试python -m install numpy)
引用方式通常喜欢给numpy模块别名:import numpy as npNumPy简单使用
例1:已知若干家跨国公司的市值(美元),将其换算为人民币
例2:已知购物车中每件商品的价格与商品件数,求总金额
创建ndarray:np.array()
ndarray是多维数组结构,与列表的区别是:数组对象内的元素类型必须相同 数组大小不可修改 常用属性
T 数组的转置(对二维及以上数组而言)
dtype 数组元素的数据类型
size 数组元素的个数
ndim 数组的维数
shape 数组的维度大小(以元祖的形式)
ndarray创建
arange() 比我们的python3里面的range更加强大,支持浮点数范围
linspance() 类似于arange(),第三个参数为数组长度
zeros() 根据指定形状和dtype创建全0数组
ones() 根据指定形状和dtype创建全1数组
empty() 根据指定形状和dtype创建空数组(随机值)
eye() 根据指定边长和dtype创建单位矩阵 NumPy索引切片
数组和标量(数字)之间的运算
a+1 a*3 1//a a**0.5
同样大小数组之间的运算
a+b a/b a**b
数组的索引
一维数组:a[5]
多维数组:
列表式写法:a[2][3]新式写法:a[2,3] (推荐) 逗号隔开,前面作用于行后面作用于列
数组的切片
一维数组:a[5:8] a[4:] a[2:10] = 1
多维数组:a[1:2, 3:4] a[:,3:5] a[:,1]
与列表不同,数组切片时并不会自动复制,在切片数组上的修改会影响原数组(因为不会复制一份出去而是沿用原来的内存空间中的值)。 【解决方法:copy()】NumPy布尔型索引
问题:给一个数组,选出数组中所有大于5的数。
答案:a[a>5]
原理: a>5会对a中的每一个元素进行判断,返回一个布尔数组 布尔型索引:将同样大小的布尔数组传进索引,会返回一个由所有True对应位置的元素的数组
问题2:给一个数组,选出数组中所有大于5的偶数。
问题3:给一个数组,选出数组中所有大于5的数和偶数。
答案:
a[(a>5) & (a%2==0)]
a[(a>5) | (a%2==0)]NumPy花式索引
问题1:对于一个数组,选出其第1,3,4,6,7个元素,组成新的二维数组。
答案:a[[1,3,4,6,7]]
问题2:对一个二维数组,选出其第一列和第三列,组成新的二维数组。
答案:a[:,[1,3]]必会知识点
浮点数特殊值
浮点数:float
浮点数有两个特殊值:
nan(Not a Number):不等于任何浮点数(nan != nan)
inf(infinity):比任何浮点数都大
NumPy中创建特殊值:np.nan np.inf
在数据分析中,nan常被用作表示数据缺失值
sum 求和
cumsum 求前缀和(截至当前元素及其前面所有的元素和)
mean 求平均数
std 求标准差
var 求方差
min 求最小值
max 求最大值
argmin 求最小值索引
argmax 求最大值索引总结
数组中的数据类型必须一致,并且数组大小不可再被更改‘
对于数组求相应值由四种不同的方式:
正常的索引切片取值
行列分开的切片取值
布尔型(生成一个与原数组各元素一一对应的布尔值数组,原数组与该布尔值列表一一对应,值为True的放行~~~)
python nan判断_Python数据分析:Numpy基本操作相关推荐
- python炒股模块_Python数据分析-numpy模块、pandas模块.基本操作、股票案例
索引操作和列表同理 arr = np.random.randint(0,100,size=(5,6)) arr array([[14, 89, 71, 96, 1, 94], [30, 98, 10, ...
- python表格类型数据的组织维度是_Python数据分析 - Numpy
原标题:Python数据分析 - Numpy 前言 NUMPY(以下简称NP)是Python数据分析必不可少的第三方库,np的出现一定程度上解决了Python运算性能不佳的问题,同时提供了更加精确的数 ...
- python数据分析软件_Python数据分析工具
Numpy Python没有提供数组功能,虽然列表可以完成基本的数组功能,但他不是真正的数组.Numpy内置函数处理速度是c语言级别,因此尽量使用内置函数,避免出现效率瓶颈的现象. Numpy的安装: ...
- python傅里叶变换库_python的numpy库和cv2库实现图像傅里叶变换
码字不易,如果对您有所帮助,记着点赞哦! 一. 图像傅里叶变换原理: 对二维图像进行傅里叶变换用如下公式进行: 图像长M,高N.F(u,v)表示频域图像,f(x,y)表示时域图像.u的范围为[0,M- ...
- python分组统计_python数据分析8:数据分组统计
1.根据给定的条件将数据拆分成组 2.每个组都可以独立应用函数(如求和,求平均值) 3.将结果合并到一个数据结构中 DataFrame.groupby(by=None,axis=0,level=Non ...
- python 组合数库函数_Python数据分析之Numpy库(笔记)
2.1 ndarray多维数组 2.1.1 创建ndarray数组 通过NumPy库的array函数,即可轻松地创建ndarray数组.NumPy库能将数据(列表,元组,数组,或其他序列类型)转换为n ...
- python查看数据集的维度、大小_Python数据分析 - numpy
前言 NUMPY(以下简称NP)是Python数据分析必不可少的第三方库,np的出现一定程度上解决了Python运算性能不佳的问题,同时提供了更加精确的数据类型.如今,np被Python其它科学计算包 ...
- python npv 计算公式_python数据分析进阶之路(二)----Numpy进阶
简单应用 矩阵创建及运算 1.手动创建矩阵 np.mat('str') 利用mat('字符串')函数创建矩阵,其中字符串的 表示中,矩阵的行与行之间用分号隔开,行内的元素之间用空格隔开. b = np ...
- python布尔系列_python数据分析类库系列-Numpy之布尔型索引
我们了解了如何使用索引进行切片以及选择 ndarray 元素.当我们知道要选择的元素的确切索引时,这些方法很有用.但是,在很多情况下,我们不知道要选择的元素的索引.例如,假设有一个 10,000 x ...
最新文章
- WindowManager.LayoutParams.type属性
- java byte 判断相等_深入理解Java装箱与拆箱
- mysql 上一篇_mysql取上一篇和下一篇的查询
- Win10电脑如何找出隐藏的文件
- 模式识别之特征提取算法
- java笔试题(题目+解析)
- Linux DMA 内dwc_prep_slave_sg函数与device_prep_dma_cyclic函数
- 密西根州立大学计算机qs分数,美国密歇根州立大学在2021年QS世界排名上的名次是多少?...
- MacBook邮件登陆163邮箱,解决无法验证账户名或密码的问题
- C++计算圆柱体的表面积
- 腹肌锻炼视频(01):四种方法打造完美腹肌
- SQL SERVER对象名无效/执行成功但有错误(初学者易犯错误)
- C语言解决三色旗问题
- 服务器2颗cpu的性能,DIY从入门到放弃:两颗CPU性能更强吗?
- 修改MAC地址 (苹果电脑)
- 周报-暑假留校第三份
- Ajax --- 获取服务器端的响应
- 《花千骨》绝美外景剧照 赵丽颖霍建华仙气足
- python技巧 黑魔法指南笔记
- Flash+XML实现电子地图查询及定位功能
热门文章
- 谷歌(Google Chrome)插件安装
- Windows下安装和配置Maven的方法及注意事项
- iframe 与div
- 使用Facelets开发JSF程序
- python从html拿到数据,python - 使用BeautifulSoup和Python从HTML文件中提取数据 - 堆栈内存溢出...
- mysql的select的排序_mysql数据分组和排序及SELECT子句顺序
- php 跟踪邮件,php – 电子邮件跟踪 – GMail
- 基于android预约功能,基于Android的银行业务预约系统的设计与实现
- 客服跟踪记录管理php,用例管理平台维护记录,用例管理平台维护_PHP教程
- linux有k歌软件吗,在Linux下可用Wine安装和运行暴风影音16、全民K歌