Python for Data Analysis 学习心得(四) - 数据清洗、接合

news/2024/7/19 11:48:25 标签: python, 爬虫, 数据库

一、文字处理

之前在练习爬虫时,常常爬了一堆乱七八糟的字符下来,当时就有找网络上一些清洗数据的方式,这边pandas也有提供一些,可以参考使用看看。下面为两个比较常见的指令,往往会搭配使用。

split(“,”)可以将文字串分割,冒号里的为分割依据,左边的代码就是把两个冒号中间的文字串视为一个单元。

strip()去除空白符号。

1、正则表达式

正则表达式为处理文字搜索匹配的功能,python可以直接导入re模块来使用。用法为下。

可直接用split来编译再拆解,也可以先用compile编译,再用split来拆解,后者可节省cpu的资源。

下面是几个比较常见的正则表达式指令

关于文字的处理pandas还有其他的方法,这边就不细讲了,有需要的时候再去查看就行。

 

二、层次化处理

一般常见的关系式数据库通常只有单一索引,对于数据量大的搜索效果通常不太好,pandas这边提供了多层索引,有点像树状图,一层一层的下来,可以提高搜索效率。

可以用loc来调取数据,以逗号“,”来间隔层数,下图就是将所有第一层的和第二层为2的数都拉出

 unstack功能是把本来的第二层的拿来当列,他的相反是stack

可以自定义行列的名字

 

三、合并数据集

这跟表join的功能类似,也是将两张表的数据合在一起。用如下,可将df1,df2两个表相接,key就是他们接合的依据。merge默认是两张表的交集,并默认用共同有的列为依据。

如果想要将两张表的并集,或是左连接、右连接。可以在选项设定。outer代表并集、left和right代表左右连接。

DataFrame还有许多的连接方式与设定,有需要再去查看就可以。

 

转载于:https://www.cnblogs.com/yenpaul/p/10135857.html


http://www.niftyadmin.cn/n/1696518.html

相关文章

操作系统---进程管理2.0

进程的引入 程序并发执行的特征 1)间断性:程序在并发执行时,由于它们共享系统资源,以及为完成同一贝仕务而相互合作,致使在这些并发执行的程序之间,形成了相互制约的关系,相互制约将导致并发程序具有“执行…

poi 处理excel2003 与excel2007

HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xlsXSSFWorkbook:是操作Excel2007的版本,扩展名是.xlsx

解决图片循环展示间距

// 图片展示代码<view class"img-wrap" wx:for"{{imgList}}" mode"widthFix" wx:key""><image src"{{item}}" /> </view> .img-wrap {width: 100%; } .img-wrap image {width: 100%;display: block; …

java.util.Collections;Collections .synchronizedMap

Collections .synchronizedMap&#xff1a; private static Map<String, List> dataCache Collections.synchronizedMap(new HashMap<String, List>()); 解决了线程安全性问题。 通过将基本的功能从线程安全性中分离开来&#xff0c;允许需要同步的用户可以拥有同…

读书笔记:程序员的自我修养---第一章

第一章&#xff1a;温故而知新 站得高&#xff0c;望的远 开发工具和应用程序属于同一个层次---操作系统应用程序编程接口 应用程序接口的提供者是运行库 运行库使用操作系统提供的系统调用接口&#xff0c;系统调用接口在实现中往往以软件中断的方式提供 操作系统内核层…

2018WFU校赛B题

我们在ACM的题目中已经了解了什么是ACM了&#xff0c;ACM还是很残酷的了&#xff08;ಥ _ ಥ&#xff09;&#xff0c;那么现在你就要解决一个ACM最简单的题了&#xff0c;简单到省赛和区域赛都不会出这种简单的题。ls很强&#xff0c;即使每年都在ACM这个大坑里&#xff0c;但…

读书笔记:程序员的自我修养---第二章

第二章&#xff1a;编译和链接 预编译 预编译的过程主要处理那些源代码文件中以"#"开始的预编译命令。比如"#include"&#xff0c;"define"等&#xff0c;主要处理规则如下&#xff1a; 1&#xff09;将所有的"#define"删除&#x…

Spring对IBatis的整合

http://www.cnblogs.com/kelin1314/archive/2009/01/05/1369864.html