Python数据清洗工具之Numpy的基本操作
作者:行秋即离 时间:2023-08-31 02:39:10
1. Numpy(Numberical Python)
Anaconda中已经集成了NumPy,可以直接使用。如果想要自行安装的话,可以使用流行的Python
包安装程序 pip 来安装 NumPy,目前使用的是Anaconde的环境进行学习和使用这个库
1.1 这库的安装方法
CMD :pip install numpy
或者使用清华源的镜像库:pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
(直接复制可用)
如果想查看这个库的版本:
import numpy as np
np.__version__
其实很多其他库也可以用这个方法进行查看库的版本
2.Numpy的基础操作
Numpy的操作对象是一个ndarray,所以在使用这个库进行计算的时候需要将数据进行转化
2.1 数组的创建:np.arrary()
np.array 可以把 list,tuple或者其他的序列模式的数据转创建为 ndarray,默认创建一个新的
ndarray
我们会发现原来数据里面有int, float型的数据都被转换成相同的类型了,统一转变成float型的数据了,因为Numpy是要求array里面的数据类型是一致的
2.2 N维数组的创建
Numpy不仅可以生成一维数组,也可以生成多维数组。
比如,可以生成如下的二维数组:
2.3 常用数组
2.4 线性数组的生成
2.5 数组的运算
数组的运算时对应位置的元素进行简单的四则运算
这里需要注意的是,数组x和数组y的元素个数是相同的(两者均是元素个数为3的一维数组)
当两者元素个数相同时,可以对各个元素进行算术运算。如果元素个数不同,则会报错,所以保
持元素个数一致非常重要。
此外,Numpy数组不仅可以进行对应元素的算术运算,还可以和单一的数值(标量)组合起来进
行运算(这个功能也被称为广播,后面会详细介绍),比如:
会把数据转成数组默认的float的数据类型
2.6 数组的形状变换
我们先定义一个数组
如果数组的量级比较大,对于计算的时候只知道其他的一个维度数字,则可以使用下面的-1,作为占位符,会自动帮你补齐另外一个维度的信息
除此之外,还有一种比较常用的数组拉平方法, m.flatten()以及m.ravel(),这两种方法类似
3. 数组的索引
可以将这个二维的数组看成一个矩阵,3行四列, 通过数字的下标索引进行提取数字,这里的切片操作还是左闭右开的
4.广播功能
术语广播是指 NumPy 在算术运算期间处理不同形状的数组的能力。
广播可以简单理解为用于不同大小数组的计算(加、减、乘、除等)的一组规则。
如果数组的形状相同,则对相应元素逐个计算,但是如果数组的维度不相同,就需要用到广播机制
Numpy的广播遵循一组严格的规则:
规则1:如果两个数组的维度数不相同,那么小维度数组的形状将会在最左边补1规则2:如果两个数组的形状在任何一个维度上都不匹配,那么数组的形状会沿着维度为1的维度扩展以匹配另外一个数组的形状规则3:如果两个数组的形状在任何一个维度上都不匹配并且没有任何一个维度为1,则会引 发异常无法广播
来源:https://blog.csdn.net/Kobe123brant/article/details/115974441
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
基于pygame实现童年掌机打砖块游戏
![](https://img.aspxhome.com/file/2023/4/87514_0s.jpg)
ROS机器人底盘坐标像素变换操作方法
![](https://img.aspxhome.com/file/2023/3/123763_0s.gif)
python strip() 函数和 split() 函数的详解及实例
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
Python字符编码与函数的基本使用方法
![](https://img.aspxhome.com/file/2023/4/126954_0s.png)
Python实现PS滤镜特效之扇形变换效果示例
![](https://img.aspxhome.com/file/2023/4/128504_0s.jpg)
Python命令行参数解析工具 docopt 安装和应用过程详解
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
![](https://img.aspxhome.com/file/2023/0/66840_0s.jpg)
利用pygame完成动画精灵和碰撞检测
![](https://img.aspxhome.com/file/2023/7/70767_0s.png)
go开发中引用静态库.a文件的方法
![](https://img.aspxhome.com/file/2023/8/135318_0s.png)
在MySQL中使用通配符时应该注意的问题
![](https://img.aspxhome.com/file/2023/4/109814_0s.jpg)
MySQL 5.0.16的乱码问题解决方法
django admin组件使用方法详解
python自动化测试selenium操作下拉列表实现
![](https://img.aspxhome.com/file/2023/4/110394_0s.png)
修改数据库为多用户模式
先学会为自己做设计
python 字符串详解
![](https://img.aspxhome.com/file/2023/4/111854_0s.png)
在线Ajax载入动画生成工具 - Loadinfo
![](https://img.aspxhome.com/file/UploadPic/20082/18/2008218134327641s.jpg)
PyCharm添加Anaconda中的虚拟环境Python解释器出现Conda executable is not found错误解决
![](https://img.aspxhome.com/file/2023/9/101059_0s.png)
Python Matplotlib条形图之垂直条形图和水平条形图详解
![](https://img.aspxhome.com/file/2023/4/121694_0s.png)