Python for Data Analysis 学习心得(四) - 数据清洗、接合
一、文字处理
之前在练习爬虫时,常常爬了一堆乱七八糟的字符下来,当时就有找网络上一些清洗数据的方式,这边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还有许多的连接方式与设定,有需要再去查看就可以。
Python for Data Analysis 学习心得(四) - 数据清洗、接合的更多相关文章
- Python for Data Analysis 学习心得(一) - numpy介绍
一.简介 Python for Data Analysis这本书的特点是将numpy和pandas这两个工具介绍的很详细,这两个工具是使用Python做数据分析非常重要的一环,numpy主要是做矩阵的 ...
- Python for Data Analysis 学习心得(三) - 文件读写和数据预处理
一.Pandas文件读写 pandas很核心的一个功能就是数据读取.导入,pandas支援大部分主流的数据储存格式,并在导入的时候可以做筛选.预处理.在读取数据时的选项有超过50个参数,可见panda ...
- Python for Data Analysis 学习心得(二) - pandas介绍
一.pandas介绍 本篇程序上篇内容,在numpy下面继续介绍pandas,本书的作者是pandas的作者之一.pandas是非常好用的数据预处理工具,pandas下面有两个数据结构,分别为Seri ...
- 《python for data analysis》第四章,numpy的基本使用
<利用python进行数据分析>第四章的程序,介绍了numpy的基本使用方法.(第三章为Ipython的基本使用) 科学计算.常用函数.数组处理.线性代数运算.随机模块…… # -*- c ...
- 数据分析---《Python for Data Analysis》学习笔记【04】
<Python for Data Analysis>一书由Wes Mckinney所著,中文译名是<利用Python进行数据分析>.这里记录一下学习过程,其中有些方法和书中不同 ...
- 数据分析---《Python for Data Analysis》学习笔记【03】
<Python for Data Analysis>一书由Wes Mckinney所著,中文译名是<利用Python进行数据分析>.这里记录一下学习过程,其中有些方法和书中不同 ...
- 数据分析---《Python for Data Analysis》学习笔记【02】
<Python for Data Analysis>一书由Wes Mckinney所著,中文译名是<利用Python进行数据分析>.这里记录一下学习过程,其中有些方法和书中不同 ...
- 数据分析---《Python for Data Analysis》学习笔记【01】
<Python for Data Analysis>一书由Wes Mckinney所著,中文译名是<利用Python进行数据分析>.这里记录一下学习过程,其中有些方法和书中不同 ...
- 学习笔记之Python for Data Analysis
Python for Data Analysis, 2nd Edition https://www.safaribooksonline.com/library/view/python-for-data ...
随机推荐
- ios html5头部无法固定的问题(安卓正常)
需求:头部菜单导航固定,中间正文可以拉动,在安卓手机正常,在ios上下拉的时候头部被带下来,有卡顿用户体验也不会,解决方法如下: 有问题的布局代码 <div class="page&q ...
- Educational Codeforces Round 12 B C题、
B. Shopping 题意:n个顾客,每个顾客要买m个物品,商场总共有k个物品,看hint就只知道pos(x)怎么算了,对于每一个Aij在k个物品中找到Aij的位置.然后加上这个位置对于的数值,然后 ...
- Python--day72--json内容回顾
前后端分离,Json格式字符串:序列化和反序列化 """ 复习python中的json模块 """ import json s = '{&q ...
- Vue 用第三方的库去实现动画效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue用法父组件调用子组件方法--->$refs
vue下载excel模板(放入弹框独立出来)后再导入表格 子组件 <el-dialog title="导入" :visible.sync="dialogVisibl ...
- [C++] WinAES的问题
WinAES是个不错的windows CAPI封装. 如果C++程序需要和java的程序进行aes加解密通讯,那么WinAES的代码是有问题的. java的aes代码缺省不会设置IV而且采用ECB模式 ...
- 基于@AspectJ注解配置切面与基于XML配置切面
1. Waiter目标类 package com.smart.aop.advice.pointcut; public class Waiter { public void greetTo(String ...
- HTML5中Js多线程编程
Web Worker Web Worker是HTML5提出的新标准,为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行.在主线程运行的同时,Work ...
- Python--day33--当面试时候问到如何解决黏包问题?的回答。
- IE显示 “Promise”未定义,vue项目兼容ie的两种方案
第一种方法: 直接在html中加入js链接: <script src = "https://cdn.polyfill.io/v2/polyfill.min.js">&l ...