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

作者:行秋即离 时间:2023-08-31 02:39:10 

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,则会引 发异常无法广播

来源:https://blog.csdn.net/Kobe123brant/article/details/115974441

标签:Python,数据清洗,Numpy
0
投稿

猜你喜欢

  • 基于pygame实现童年掌机打砖块游戏

    2023-09-18 20:41:28
  • ROS机器人底盘坐标像素变换操作方法

    2023-11-08 20:15:43
  • python strip() 函数和 split() 函数的详解及实例

    2021-07-03 09:34:56
  • Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例

    2023-04-19 19:40:57
  • Python字符编码与函数的基本使用方法

    2023-11-29 17:01:30
  • Python实现PS滤镜特效之扇形变换效果示例

    2021-05-08 17:58:03
  • Python命令行参数解析工具 docopt 安装和应用过程详解

    2022-01-15 05:31:05
  • PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解

    2022-04-18 16:28:45
  • 利用pygame完成动画精灵和碰撞检测

    2022-05-06 22:53:26
  • go开发中引用静态库.a文件的方法

    2024-04-25 13:16:26
  • 在MySQL中使用通配符时应该注意的问题

    2024-01-26 13:17:07
  • MySQL 5.0.16的乱码问题解决方法

    2011-12-14 18:33:24
  • django admin组件使用方法详解

    2021-05-28 19:59:53
  • python自动化测试selenium操作下拉列表实现

    2023-09-06 00:26:50
  • 修改数据库为多用户模式

    2024-01-19 13:53:56
  • 先学会为自己做设计

    2008-06-01 16:32:00
  • python 字符串详解

    2022-09-27 04:44:25
  • 在线Ajax载入动画生成工具 - Loadinfo

    2008-02-18 13:34:00
  • PyCharm添加Anaconda中的虚拟环境Python解释器出现Conda executable is not found错误解决

    2022-02-24 23:51:03
  • Python Matplotlib条形图之垂直条形图和水平条形图详解

    2022-07-24 04:07:45
  • asp之家 网络编程 m.aspxhome.com