python数据清洗1

news/2023/5/28 8:41:03

数据获取——》数据清洗——》数据转换——》数据分析

  • 通过设置步长,有间隔的取元素
  • 通过设置步长为-1,将元素颠倒

在这里插入图片描述

数据清洗工具

目前在Python中, numpy和pandas是最主流的工具。

  1. Numpy中的向量化运算使得数据处理变得高效;
  2. Pandas提供了大量数据清洗的高效方法。

在Python中,尽可能多的使用numpy和pandas中的函数,提高数据清洗的效率

一、Numpy

1.可以通过np.array([1,2,3,4])创建一维数组
2. np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])创建多维数组
3. 可以使用其他函数例如arange、linspace、zeros等创建 np.arange(0,10,1) np.linspace(1,10,10) np.zeros([2,3])
4. 常用方法

  • ndim: 查看数组维度
  • size:返回数组元素的个数
  • dtype:返回数组中元素的类型

5.常用数据清洗函数

  • np.sort(x) #从小到大排序
  • argsort函数返回数据中从小到大的索引值
  • sorted(x,reverse=True) #降序,从大到小
  • axis=0 #0表示对列,1表示对行
  • np.where(x>3,1,-1) #满足条件的赋值1,反之-1
  • np.extract(x>3,x) #只输出满足条件的数据

二、Pandas

1.series序列

  • pd.Series([1,2,3,4,5])
  • pd.Series([1,2,3,4,5],index=[‘a’,‘b’,‘c’,‘d’,‘e’],name=‘这是一个series序列’)
  • pd.Series[‘北京’:1,‘上海’:2,‘广东’:3,‘深圳’:4,‘浙江’:5]

2.series方法

  • series.values
  • series.index

3.dataframe
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.dataframe方法

  • df.values
    在这里插入图片描述
  • df.index
    在这里插入图片描述
  • df.columns
    在这里插入图片描述
  • df.dtypes
    在这里插入图片描述
  • df.ndim
  • df.size

三、文件操作(csv)

1.使用read_csv/read_excel方法读取,结果为dataframe格式
2.在读取csv文件时,文件名称尽量是英文
3.读取csv时,注意编码,常用编码为utf-8、gbk 、gbk2312和gb18030等
4.使用to_csv/to_excel方法快速保存

  • data.to_csv(‘name.csv’,encoding=‘utf-8’,index=False) #建议用utf-8编码或者中文gbk编码,默认是utf-8编码, index=False表示不写出索引行

数据库文件

1.使用sqlalchemy建立连接
2.pandas中read_sql 函数读入,读取完以后是dataframe格式
3.dataframe的to_sql方法保存
df.to_sql(name, con=engine, if_exists=‘replace/append/fail’,index=False)
name:表名; con:连接;
if_exists:表如果存在怎么处理。三个选项 append代表追加, replace代表删除原表,建立新表,fail代表什么都不干;index=False:不插入索引index
4.建立连接
conn=create_engine(‘mysql+pymysql://root:passward@IP:3306/test01’)
root: 用户名;passward: 密码;IP : 服务器IP,本地电脑用localhost;3306: 端口号; test01 : 数据库名称

四、数据筛选方法

  • df.info() #查看数据

  • df.head(5) #查看前5行

  • df.tail(5) #查看后5行

  • df[‘id’] #简单索引

  • df[‘id’][1:5] #第二行到第五行

  • df[[‘id’,‘name’,‘score’]][:5] #多个变量选择,前5行

  • loc与iloc
    loc
    在这里插入图片描述
    iloc
    在这里插入图片描述

     **loc 与 iloc区别**![在这里插入图片描述](https://img-blog.csdnimg.cn/b3d6f3ccad68468cb50c6c40f9313b24.png)
    

五、数据增加和删除

1.增加一列

  • df[‘购买者’]=np.where(df[‘buy_mount’]>3,‘高’,‘低’)

在这里插入图片描述
2.插入一列

  • df.insert(0,‘auction_id’,auction_id)

在这里插入图片描述
3.删除一列

  • del df[‘auction_id’]

在这里插入图片描述
4.drop删除行和列
在这里插入图片描述

六、数据修改和查找

1.数据修改
在这里插入图片描述

  • df.rename(columns={‘user_id’:‘用户ID’,‘birthday’:‘出生日期’,‘gender’:‘性别’},inplace=True) #修改列标签
  • df.rename(index={1:‘one’,10:‘ten’},inplace=True) #修改行索引名称
    在这里插入图片描述
    在这里插入图片描述

七、数据整理

数据合并

一般均为纵向合并,即使用concat时,axis =1(0代表横向);注意join取inner或者outer时,分别代表交集和并集
在这里插入图片描述

在这里插入图片描述

八、层次化索引

在这里插入图片描述

九、数据转换

1.Pandas中使用to_datetime()方法将文本格式转换为日期格式
在这里插入图片描述

2.dataframe数据类型如果为datetime64,可以使用dt方法取出年月日等
在这里插入图片描述

3.对于时间差数据,可以使用timedelta函数将其转换为指定时间单位的数值
在这里插入图片描述

4.时间差数据,可以使用dt方法访问其常用属性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4570320.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

第七章 采用AAM和POSIT的3D头部姿态估计——Chapter 7:3D Head Pose Estimation Using AAM and POSIT

第七章 采用AAM和POSIT的3D头部姿态估计——Chapter 7:3D Head Pose Estimation Using AAM and POSIT 分类: OpenCV | 标签: opencv | 作者: raby_gyl 相关 | 发布日期 : 2014-05-11 | 热度 : 864目录[] 一个好的计算机视觉算法如果没有伟大健壮…

matlab版本POSIT算法来计算三维以及二维人脸模型的映射透视投影矩阵

在已知4组及以上的二维三维对应点以后,就可以利用POSIT算法计算出三维以及二维模型的映射透视投影矩阵系数(也就是求得二维三维的映射矩阵),不废话,直接上代码以及效果截图:①主代码MYposUSE.m:…

Head Pose Estimation Using AAM and POSIT

Chapter 7:3D Head Pose Estimation Using AAM and POSIT 一个好的计算机视觉算法如果没有伟大健壮的功能以及广泛的普遍化和一个坚实的数学基础是不完整的。所有的这些优点伴随着主要由TimCootes开发的主动表观模型(Active Appearance Models)。这一章将…

POSIT-DRMM(18’Google)

Deep Relevance Ranking Using Enhanced Document-Query Interactionshttps://github.com/nlpaueb/deep-relevance-ranking.Introduction 在DRMM(它使用对上下文不敏感的术语编码和查询-文档术语交互)的基础上,整个模型中注入了丰富的对上下…

相机姿态估计(二)--单目POSIT算法

3D姿态估计-POSIT算法 POSIT算法,Pose from Orthography and Scaling with Iterations, 比例正交投影迭代变换算法: 用于估计物体的3D姿态(相对于镜头的平移和旋转量)。算法正常工作的前提是…

POSIT:3D姿态估计

转载自:http://www.myexception.cn/operating-system/1918104.html POSIT算法的原理--opencv 3D姿态估计 3D姿态估计-POSIT算法 POSIT算法,Pose fromOrthography and Scaling with Iterations, 比例正交投影迭代变换算法: 用于…

POSIT算法的原理--opencv 3D姿态估计

3D姿态估计-POSIT算法 POSIT算法,Pose from Orthography and Scaling with Iterations, 比例正交投影迭代变换算法: 用于估计物体的3D姿态(相对于镜头的平移和旋转量)。算法正常工作的前提是物体在Z轴方向的“厚度”远…

使用OpenCV和Dlib进行人头姿态估计

原文地址:http://www.learnopencv.com/head-pose-estimation-using-opencv-and-dlib/ 效果图: 在本教程中我们将学习如何估计人类的姿势使用OpenCV和Dlib照片。 在进行本教程之前,我想指出这个帖子属于我在面部处理中编写的一个系列。下面的一些文章有助…

MacDown一款Mac平台Markdown免费编辑器

转载请注明来源-作者loongshawn:http://blog.csdn.net/loongshawn/article/details/67633603,建议读者阅读原文,确保获得完整的信息 1.前言 之所以会介绍这款MacDown编辑器,是因为之前用的Mou现在收费了(15$),Mou的界…

苹果iOS 14.4.1/iPadOS 14.4.1正式版发布

3月9日消息外媒MacRumors报道,苹果今天发布了iOS14.4.1和iPadOS14.4.1的小安全更新,具体版本号为18D61。这是在iOS 14.4正式版更新发布后一个多月推送的。 苹果iOS/iPadOS 14.4.1更新可以免费下载,所有符合条件的设备都可以在 “设置”应用中…

【随笔记】Tina 系统的 ADB、声卡、网卡、串口多路共存

全志 Tina 系统的 USB Gadget 配置方法,随笔记录,实测为 R311 平台,其它平台应该通用。 一、配置内核 二、编译驱动并加载 # UAC insmod usb_f_uac1.ko # NCM insmod u_ether.ko insmod usb_f_ncm.ko # ACM insmod u_serial.ko insmod usb…

arduino使用18D20测温元件测量环境温度

一、实验目的 使用18D20测温元件测量环境温度 二、实验工具及方法 arduino uno , 18D20 找出 DS18B20的电源线, 地线和数据线,电源线,地线分别连到 Arduino 实验板的5V,GND 端口,数据总线连至数字端口1…

Android进阶系列-手写高并发网络访问框架

一个项目,访问网络那是必须的。现在开源的网络框架很多。比如最开始的HeepClient,Volley,xUtils,最近很火的okhttp,还有例如retrofit,okGo这些都是很不错 的框架。但是毕竟是别人写的。出了什么问题都不好查…

关于docker容器网络的一些理解

转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thinkgamer 参考资料 1:容器网络那些事儿 2:使用 Docker 容器网络 3:Docker 1.9的新网络…

docker入门,镜像,容器,数据卷,dockerfile,docker网络,springboot微服务打包docker镜像[狂神yyds]

docker学习大纲 docker概述 docker安装 docker命令 镜像命令 容器命令 操作命令 … docker镜像 容器数据卷 dockerfile docker网络原理 IDEA整合docker docker compose docker swarm CI\CD Jenkins 1.docker概述 docker为什么会出现? 一款产品: 开发–上线 两…

CentOS7-Docker 网络-06

CentOS7-Docker 网络-06 1、理解Docker0 准备工作:清空所有的容器,清空所有的镜像 -- 删除所有容器 docker rm -f $(docker ps -a -q) -- 删除全部镜像 docker rmi -f $(docker images -qa) 1、测试 1、 查看本地IP ip addr-- 本机回环地址 lo 127.0.0.…

31 _ 程序员怎么学习运维知识?

在上一讲中,我们讲到了开发过程的自动化,我们的关注点在于如何构建出一个有效的部署包,这个包最终是要上线部署的,那接下来,我们就来关心一下部署的相关工作。 零散的运维知识 在一些稍具规模的公司,为部署…

DevOps运维开发一体化【超详细】

文章目录 前言一、DevOps是什么? 1.1.软件开发的演变1.2.什么是DevOps?1.3.DevOps案例研究 二、DevOps工具链(工具准备是实现DevOps的硬性要求) 2.1.Git/GitLab介绍安装使用 2.1.1.介绍2.1.2.安装 Git及GitLab2.1.3.在GitLab创建项目2.1.4.使用Git管理項目(Idea继承Git并对项…

运维自动化需要的讨论

好久没写文章了,最近要来刷下存在感,近两 年,运维自动化被炒的火的不行,行业趋势不可挡,现在企业招运维工程师都要求会一门开发语言。我们公司也不例外,由于刚上市,一下子有钱了,开始…

ECS云助手,实现云上运维自动化

导读:云时代的运维是怎么样的?如何快人一步实践 云上自动化运维? 本次分享将为大家介绍在 ECS 实例内部署与更新应用、监控系统或应用的运行状态、以及批量操作多个实例内部系统的这些场景下,如何使用 ECS 云助手实现云上自动化运维。 作者…