Pandas中常见的20多种数据筛选方法,116张图详解 | 图解Pandas-图文第8篇
01写在前面
大家好,我是阳哥,欢迎来到「Python数据之道」。
本次是《图解Pandas》系列图文内容的 第 08 篇,主要介绍 Pandas 中常见的数据筛选
。
本文是付费阅读文章,付费阅读内容包括《图解Pandas》图文干货内容、可以在电脑端观看的视频以及配套的源代码等。
此外,为避免各种不必要的麻烦,微信没有退款机制,付费前请谨慎。
Pandas
是 Python数据分析中用的最多的工具,为了大家能够更好地学习 Pandas
,阳哥开始制作一系列 《图解Pandas》 的内容。
《图解Pandas》 最主要的目标,是以视频图解、动态图片等方式呈现,拆解 Pandas 在数据处理过程中的主要知识点,以便大家能进一步了解 Pandas
的使用,形象地介绍 Pandas
,进而使大家喜欢上 Pandas
这个工具。
《图解Pandas》图文专题,最新的内容可以点击下面的图片进行查看。
在本文编写时,《图解Pandas》系列已发布的图文如下:
图文链接 | 对应的视频编号 |
---|---|
《图解Pandas》内容框架介绍 | - |
图文01-数据结构介绍 | 001 |
图文02-创建数据对象 | 002 |
图文03-读取和存储Excel文件 | 003、004 |
图文04-常见的数据访问 | 005 |
图文05-常见的数据运算 | 006、007、008 |
图文06-常见的数学计算 | 009、010 |
图文07-常见的数据统计 | 011、012、013、014、015 |
本次主要介绍 Pandas 中常见的数据筛选
,内容框架如下:
该主题包括 13 期视频,在微信视频号「Python数据之道」中发布的对应视频编号为 016
至 028
,大家可以前往观看:
注:本文发布时,在视频号中可以观看视频
016
至024
,后续将发布025
至028
。
在本文后面内容中可以同时观看视频
016
至028
。
扫描下面的二维码,关注视频号,可以观看《图解Pandas》已发布的所有视频以及及时推送最新的视频:
02常见的数据筛选
Python环境
开始之前,按照惯例先介绍下本次内容涉及的Python环境,如下:
Python 3.8 Pandas 1.4.1 numpy 1.22.3
我是在 jupyter notebook
中运行代码的,首先引入相关 Python 库:
import pandas as pd
import numpy as np
print(f'pandas version:{pd.__version__}')
print(f'numpy version:{np.__version__}')
# pandas version:1.4.1
# numpy version:1.22.3
创建数据
咱们先来创建一个dataframe,也就是“数据框”。
关于创建数据对象的详细介绍,大家可以观看 「图解Pandas」系列的第2期视频。
创建 df
如下:
d = {
"name": [ "Lemon", "Jack", "Peter","Emma","James"],
"city": ["长沙", "上海", "深圳","北京","北京"],
"a": [80, 90, 60,73,89],
"b": [80, 75, 80,85,83],
"c": [70, 75, 80,73,62],
}
df = pd.DataFrame(d,index=list('efghk'))
df
来看看数据框“df”的数据结构,为5行5列,数值类型包括字符串和整型。后续,会根据需要在该数据框的基础上,创建其他的一些数据框。
数据筛选,是运用Pandas进行数据处理的一个重要方面,实现的方法也是多种多样, 这里汇总了Pandas中比较常见的数据筛选方法。
在内容介绍过程中,主要是针对数据框介绍各种方法的应用。同时,也需要知道,其中有不少方法,对于Series也是适用的。
获取头尾数据
在Pandas中,head()
函数 和 tail()
函数分别用来获取数据框的头尾数据。
先来看 head()
函数,是用来获取头部数据的,对于数据框,获取头部的数据行。这里获取了数据框前 2 行数据,如下:
tail()
函数,是用来获取尾部数据的,对于数据框,获取尾部的数据行。这里获取了数据框最后2行数据,如下:
head
函数 和 tail
函数,对于 Series 也是适用的。
head
函数获取series最前面的两组数据,如下:
tail
函数获取series最后面的两组数据,如下:
列数据的获取
对于数据框中列数据的获取,这里先分享几种最基础的方法。
用 df['name']
的形式, 可以直接选取某列,其中 “name” 为列名称。如下:
用 df.col
方法 (col为列名称),也可以实现列的选取,需要注意的是,用这种方法,列名称中不能有空格。如下:
也可以用列表的方式,实现同时选取多列,这里选取了 "name" 和 "a" 两列,如下:
对于数据框中列数据的获取,还可以使用 get
函数,该函数有两个参数。
DataFrame.get(key, default=None)
其中 key
是 列名称,或者由列名称组成的列表。
这里设置 key
为 列名称,获取某列,如下:
设置key为列表,则可以获取某几列,这里获取 "name" 和 "a" 两列,如下:
需要注意下,如果列表中有数据框中不存在的列名称,则返回 default
参数的值,这里设置为 "error",由于 数据框df中没有列名称为"ab"的列,因此返回 "error" 。
如下:
可试读19%