大话 Python:python 操作 excel 系列 -- 数据的提取与筛选

Source

在数据整理完成后,接着就要对条件数据进行提取、并且筛选我们所需要的数据,这就是本篇文章所要讲的数据的提取与筛选,跟本系列其他文章一样我们采取实例的方式进行说明。新来的童鞋请先查看本系列文章的前面几篇内容。

公众号:老王说编程 | 作者:老王

1,导入 python 库
# 导入 numpy 库,主要用于数据计算
import numpy as np
# 导入 pandas 库,主要用于读取 excel 数据、DataFrame 数据结构的使用
import pandas as pd
2,按标签提取数据
# 上篇文章(python-excel 数据处理)最后生成 data_inner 数据,它的类型是 DataFrame 结构的数据
# loc() 函数,提取索引列的第 4 行的数据
data_inner.loc[3]
# loc() 函数,提取索引列从第 1 行到第 4 行的数据
data_inner.loc[0:3]
# loc() 函数,提取第 4 行之前的数据行
data_inner.loc[:3]
3,按位置提取数据
# iloc() 函数,按第 3 行、第 2 列之前的区域进行数据提取
data_inner.iloc[:2,:1]
4,按条件提取数据
# 使用 isin() 函数 作为条件筛选出 name 列是 laowang、laow 的数据
# 再配合使用 loc() 筛选出数据 
data_inner.loc[data_inner['name'].isin(['laowang','laow'])]
5,数据筛选
使用 DataFrame 数据结构的数据进行筛选,其实类似于 python 中调用数据库的 SQL 语句条件查询,在一个已经整理好的数据表中根据条件筛选出所需要的数据的过程。
# 注意:使用的是 & 作为 “与” 的条件判断
data_inner.loc[(data_inner['name'] == 'laow') & (data_inner['age'] > 25), ['id','name','age']]
# 注意:使用的是 & 作为 “或” 的条件判断
data_inner.loc[(data_inner['name'] == 'laow') | (data_inner['age'] > 25), ['id','name','age']]
# 注意:使用的是 & 作为 “非” 的条件判断,并且在筛选完成后按照年龄大小进行了排序
data_inner.loc[(data_inner['name'] != 'laow'), ['id','name','age']].sort(['age'])

更多精彩前往老王说编程>>>

在这里插入图片描述