查看原文
其他

Pandas中常见的20多种数据筛选方法,116张图详解 | 图解Pandas-图文第8篇

我是阳哥 Python数据之道 2022-09-07

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数据之道」中发布的对应视频编号为 016028,大家可以前往观看:

注:本文发布时,在视频号中可以观看视频 016024,后续将发布 025028


在本文后面内容中可以同时观看视频 016028

扫描下面的二维码,关注视频号,可以观看《图解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": [809060,73,89],
    "b": [807580,85,83],
    "c": [707580,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%

微信扫一扫付费阅读本文

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存