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的Tornado框架中的协程异步实现原理
Apr 23 Python
Python中asyncore异步模块的用法及实现httpclient的实例
Jun 28 Python
Python中模块string.py详解
Mar 12 Python
Python基础语言学习笔记总结(精华)
Nov 14 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
Flask之flask-script模块使用
Jul 26 Python
python处理两种分隔符的数据集方法
Dec 12 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
解决python中的幂函数、指数函数问题
Nov 25 Python
Django Serializer HiddenField隐藏字段实例
Mar 31 Python
Python Scrapy图片爬取原理及代码实例
Jun 12 Python
python算的上脚本语言吗
Jun 22 Python
Python基础之Socket通信原理
python numpy中setdiff1d的用法说明
Apr 22 #Python
一行代码python实现文件共享服务器
Apr 22 #Python
python数据分析之用sklearn预测糖尿病
python文件名批量重命名脚本实例代码
python爬虫之爬取笔趣阁小说
python获取淘宝服务器时间的代码示例
Apr 22 #Python
You might like
php实现分页工具类分享
2014/01/09 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
PHP中常用的魔术方法
2017/04/28 PHP
PHP jQuery+Ajax结合写批量删除功能
2017/05/19 PHP
JavaScript 变量命名规则
2009/09/23 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
BootStrap的alert提示框的关闭后再显示怎么解决
2016/05/17 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
Vue2 模板template的四种写法总结
2018/02/23 Javascript
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[03:57]DOTA2英雄梦之声_第03期_幻影刺客
2014/06/21 DOTA
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
python计算文本文件行数的方法
2015/07/06 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
使用python实现飞机大战游戏
2020/03/23 Python
Django 多对多字段的更新和插入数据实例
2020/03/31 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
最新奶茶店创业计划书
2014/01/25 职场文书
新法人代表任命书
2014/06/06 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书