![efb7775b3d8b6d7df3571ef20e45cfc4.png](https://i-blog.csdnimg.cn/blog_migrate/7a15fff3d5f0744c3bee51848835c2fa.jpeg)
书接上回:
Tao:Python处理数据常用方法(pandas版)zhuanlan.zhihu.com![ed03488b9bc767ba692fcf6841ccb077.png](https://i-blog.csdnimg.cn/blog_migrate/06f186b6e46c86e783abb39ae0baead3.jpeg)
本文为我日常工作中常用功能的代码块,可以满足绝大部分文本数据处理的需求。
首先导入常用的包
import pandas as pd
本文假设所使用的excel文件目录为 C:/Users/Administrator/Desktop
名称为 test.xlsx
df 为 定义好的Dataframe格式数据
19 删除一列
df = df.drop(columns=['A'])
源数据:
![0ec84e2f11ba37cd4e41c872e1fa9546.png](https://i-blog.csdnimg.cn/blog_migrate/add5db435c95af5e11751706619dcfad.png)
删除后:
![7baff16c628b579c0a422e04a390b7ce.png](https://i-blog.csdnimg.cn/blog_migrate/66f683239ab60c2a07f00c367cdc215b.png)
20 删除一行
df = df.drop(index=['3'])
源数据:
![6ec2655fb3dc21f000fd2ef6b0b69cdf.png](https://i-blog.csdnimg.cn/blog_migrate/73fae80e866a9d8e3ae4fa423130b870.png)
删除后:
![6ec2655fb3dc21f000fd2ef6b0b69cdf.png](https://i-blog.csdnimg.cn/blog_migrate/73fae80e866a9d8e3ae4fa423130b870.png)
21 重命名列名 columns
df.rename(columns={'A': 'ABC', 'B': 'BCD','C':'CEF'}, inplace = True)
源数据:
![6ec2655fb3dc21f000fd2ef6b0b69cdf.png](https://i-blog.csdnimg.cn/blog_migrate/73fae80e866a9d8e3ae4fa423130b870.png)
修改后:
![f1995ec8ea113ff55cf937aa4bc0e8be.png](https://i-blog.csdnimg.cn/blog_migrate/954f584a99fa5a4b2d8a5b683f1754b8.png)
22 去重复的值
数据采集可能存在重复的行,这时只要使用 drop_duplicates() 就会自动把重复的行去掉。
df = df.drop_duplicates(inplace=True) # 去除所有数据都重复的行
df = df.drop_duplicates(subset=['A','B'],inplace=True) # 去除AB两列同时重复的行
默认保留第一个重复值,也可以使用keep参数自行设定
源数据:
![6593d7fe00a58f8d4c92249a7e2165b6.png](https://i-blog.csdnimg.cn/blog_migrate/534af9eb50836cabfa43e758e32458c3.png)
默认去重后:
![909f3c46cc5555d3d0f61974f6c509ab.png](https://i-blog.csdnimg.cn/blog_migrate/05205192bb107c71bbf5e79345432bb7.png)
加参数去重后:
![dcad2b0b34bfdfd97e5a14ebdfa0e21b.png](https://i-blog.csdnimg.cn/blog_migrate/61eb506049005f9bc7de5439f995b388.png)
23 更改数据类型
这是个比较常用的操作,因为很多时候数据格式不规范,我们可以使用 astype 函数来规范数据格式,比如我们把 A字段的值改成 str 类型,或者 int64 可以这么写:
df['A'] = df['A'].astype('str')
df['B'] = df['B'].astype(np.int64
源数据:
![483cc84d349f7ffcd47a404ad191e9d0.png](https://i-blog.csdnimg.cn/blog_migrate/cc101d3c1d5cdc797e9b22e56a7d3015.png)
源数据类型:
![ea65e45fb52dcd8ea2a71368fb21f905.png](https://i-blog.csdnimg.cn/blog_migrate/ce41a65d447b0f6d31db46a9c1fa15ef.png)
修改后数据类型:
![8747815c2fd0b8402a255fcaf2b20b13.png](https://i-blog.csdnimg.cn/blog_migrate/bb6f3560146aaa070be758a4891ed397.png)
24 大小写转换
大小写是个比较常见的操作,比如人名、城市名等的统一都可能用到大小写的转换,在 Python 里直接使用 upper(), lower(), title() 函数,方法如下:
全部大写
df['A'] = df['A'].str.upper()
全部小写
df['A'] = df['A'].str.lower()
首字母大写
df['A'] = df['A'].str.title()
源数据:
![f8d8fb5e8272b024a6f8d4d0f9e6ccf0.png](https://i-blog.csdnimg.cn/blog_migrate/b82b1998b16ac39fab36c93ef6ae806b.png)
A列转化为大写:
![34bf76461ab5bed9433faf21b1cd305b.png](https://i-blog.csdnimg.cn/blog_migrate/fc71954e192f8206500cea5a1c0eb23d.png)
B列转化为小写:
![ac0401a428625a8242e4c47f26524d44.png](https://i-blog.csdnimg.cn/blog_migrate/03ad0dcbacc2fbab4de44c46639b19a0.png)
C列首字母大写:
![daf1c92bb4ed05faa684ed9a84e6ce50.png](https://i-blog.csdnimg.cn/blog_migrate/857a774098903a6ee8a3bcaf7c3e354b.png)
25 使用空值前面的值填补空值
df = df.fillna(method='pad',axis=0)
# 或
df = df.fillna(method='ffill',axis=0)
源数据:
![e669c530eb3a2feff8c32515206574d7.png](https://i-blog.csdnimg.cn/blog_migrate/a90fe9a2a1ce2abb061ed495422c831a.png)
pandas导入:
![6a3134ca4071c41dda5fcdfe39505227.png](https://i-blog.csdnimg.cn/blog_migrate/7d023265269c88aac29b3a53e5fc4591.png)
向上填充后:
![cf48eb4ddee608527e28ade7595c39fc.png](https://i-blog.csdnimg.cn/blog_migrate/4d0a28d1c3137760e2be245962ea742c.png)
or
![a3497958c537f0fe7ed3d6d1dac3bc03.png](https://i-blog.csdnimg.cn/blog_migrate/db55ea887725f80f9ca65546eda8f17a.png)
26 使用空值后面的值填补空值
df = df.fillna(method='bfill',axis=0)
源数据及填充后数据:
![ed6818fa15dba862b631e88e1f7a7873.png](https://i-blog.csdnimg.cn/blog_migrate/f37d6c5048c79b48de4d7326f0d32139.jpeg)
惯例,十个赞后做下一篇~