Python数据清洗工具之Numpy的基本操作


Posted in Python onApril 22, 2021

Python数据清洗工具之Numpy的基本操作

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

Python数据清洗工具之Numpy的基本操作

我们会发现原来数据里面有int, float型的数据都被转换成相同的类型了,统一转变成float型的数据了,因为Numpy是要求array里面的数据类型是一致的

2.2 N维数组的创建

Numpy不仅可以生成一维数组,也可以生成多维数组。
比如,可以生成如下的二维数组:

Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作

2.3 常用数组

Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作

2.4 线性数组的生成

Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作

2.5 数组的运算

数组的运算时对应位置的元素进行简单的四则运算

Python数据清洗工具之Numpy的基本操作Python数据清洗工具之Numpy的基本操作

这里需要注意的是,数组x和数组y的元素个数是相同的(两者均是元素个数为3的一维数组)
当两者元素个数相同时,可以对各个元素进行算术运算。如果元素个数不同,则会报错,所以保
持元素个数一致非常重要。
此外,Numpy数组不仅可以进行对应元素的算术运算,还可以和单一的数值(标量)组合起来进
行运算(这个功能也被称为广播,后面会详细介绍),比如:

Python数据清洗工具之Numpy的基本操作

会把数据转成数组默认的float的数据类型

2.6 数组的形状变换

我们先定义一个数组

Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作

如果数组的量级比较大,对于计算的时候只知道其他的一个维度数字,则可以使用下面的-1,作为占位符,会自动帮你补齐另外一个维度的信息

Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作

除此之外,还有一种比较常用的数组拉平方法, m.flatten()以及m.ravel(),这两种方法类似

Python数据清洗工具之Numpy的基本操作

3. 数组的索引

Python数据清洗工具之Numpy的基本操作

可以将这个二维的数组看成一个矩阵,3行四列, 通过数字的下标索引进行提取数字,这里的切片操作还是左闭右开的

Python数据清洗工具之Numpy的基本操作
Python数据清洗工具之Numpy的基本操作

4.广播功能

术语广播是指 NumPy 在算术运算期间处理不同形状的数组的能力。
广播可以简单理解为用于不同大小数组的计算(加、减、乘、除等)的一组规则。
如果数组的形状相同,则对相应元素逐个计算,但是如果数组的维度不相同,就需要用到广播机制

Python数据清洗工具之Numpy的基本操作Python数据清洗工具之Numpy的基本操作

Numpy的广播遵循一组严格的规则:

规则1:如果两个数组的维度数不相同,那么小维度数组的形状将会在最左边补1规则2:如果两个数组的形状在任何一个维度上都不匹配,那么数组的形状会沿着维度为1的维度扩展以匹配另外一个数组的形状规则3:如果两个数组的形状在任何一个维度上都不匹配并且没有任何一个维度为1,则会引 发异常无法广播

到此这篇关于Python数据清洗工具之Numpy的基本操作的文章就介绍到这了,更多相关Python数据清洗内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python网络编程示例(客户端与服务端)
Apr 24 Python
Python Web开发模板引擎优缺点总结
May 06 Python
python subprocess 杀掉全部派生的子进程方法
Jan 16 Python
python事件驱动event实现详解
Nov 21 Python
python数据处理 根据颜色对图片进行分类的方法
Dec 08 Python
浅谈Pandas:Series和DataFrame间的算术元素
Dec 22 Python
python实现二维数组的对角线遍历
Mar 02 Python
Python3.5常见内置方法参数用法实例详解
Apr 29 Python
python 代码运行时间获取方式详解
Sep 18 Python
基于 Python 实践感知器分类算法
Jan 07 Python
简述python四种分词工具,盘点哪个更好用?
Apr 13 Python
深入理解python多线程编程
Apr 18 Python
Python基础之Socket通信原理
python numpy中setdiff1d的用法说明
Apr 22 #Python
一行代码python实现文件共享服务器
Apr 22 #Python
python数据分析之用sklearn预测糖尿病
python文件名批量重命名脚本实例代码
python爬虫之爬取笔趣阁小说
python获取淘宝服务器时间的代码示例
Apr 22 #Python
You might like
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
php和asp语法上的区别总结
2019/05/12 PHP
理解Javascript_05_原型继承原理
2010/10/13 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
JavaScript 过滤关键字
2017/03/20 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
python爬取NUS-WIDE数据库图片
2016/10/05 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
python assert的用处示例详解
2019/04/01 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
Python爬取数据并实现可视化代码解析
2020/08/12 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
中学实习教师自我鉴定
2013/12/12 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
2014年开学第一课活动方案
2014/03/06 职场文书
2014年导购员工作总结
2014/11/18 职场文书
2014年班组工作总结
2014/11/20 职场文书
家属答谢词
2015/01/05 职场文书
2015年工会工作总结
2015/03/30 职场文书
药品开票员岗位职责
2015/04/15 职场文书
西安事变观后感
2015/06/12 职场文书
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
python process模块的使用简介
2021/05/14 Python
vue数据字典取键值项目的字典问题
2022/04/12 Vue.js