pandas loc 正则匹配_数据分析工具PANDAS技巧-如何过滤数据

在本文中,我们将介绍在Python中过滤pandas数据帧的各种方法。 数据过滤是最常见的数据操作操作之一。 它类似于SQL中的WHERE子句,或者必须在MS Excel中使用过滤器根据某些条件选择特定行。 就速度而言,python执行过滤和聚合更佳。 它有很棒的库:pandas。 Pandas是在numpy包之上构建的,它是用C语言编写的,这是一种低级语言。 因此,使用pandas包进行数据操作是处理大型数据集的快速而智能的方法。

e73695824594e4d0608f46966fe8f916.png


图片.png

数据过滤的示例

它是预测建模或任何报告项目的数据准备的最初步骤之一。 它也被称为“子集数据”。 请参阅下面的一些数据过滤示例。

  • 选择在2019年1月1日之后开立帐户的所有活跃客户
  • 提取过去6个月内进行超过3笔交易的所有客户的详细信息
  • 获取在组织中工作超过3年且在过去两年中获得最高评级的员工的信息
  • 分析投诉数据并确定在过去1年内提交超过5个投诉的客户
  • 提取人均收入超过40K美元的地铁城市的详细信息

导入数据

我们将使用包含2013年从纽约出发的航班详情的数据集。该数据集有32735行和16列。下载 https://itbooks.pipipan.com/fs/18113597-393403297。

表头如下:

[

导入数据

import 

使用列值过滤

选择JetBlue Airways航班详细信息,其中包含2个字母的运营商代码B6 ,起源于JFK机场。

  • 方法1:DataFrame方式
>>> 

这部分代码(df.origin == "JFK") & (df.carrier == "B6")返回True / False。 条件匹配时为真,条件不匹配时为假。 稍后它在df内传递并返回与True对应的所有行。 它返回4166行。

  • 方法2:查询函数

在pandas包中,有多种方法可以执行过滤。 上面的代码也可以像下面显示的代码一样编写。 此方法更优雅,更易读,每次指定列(变量)时都不需要提及数据框名称。

>>> 
  • 方法3:loc函数

loc是位置术语的缩写。 所有这三种方法都返回相同的输出。 这只是一种不同的过滤行的方法。

>>> 

按行和列位置过滤Pandas数据帧

假设您想按位置选择特定的行(假设从第二行到第五行)。 我们可以使用df.iloc[ ]函数。
python中的索引从零开始。 df.iloc [0:5,]指第一至第五行(此处不包括终点第6行)。 df.iloc [0:5,]相当于df.iloc [:5,]

df

loc根据索引标签考虑行。 而iloc根据索引中的位置考虑行,因此它只需要整数。 让我们创建一个示例数据进行说明

>>> 

参考资料

  • python测试开发项目实战-目录
  • python工具书籍下载-持续更新
  • python 3.7极速入门教程 - 目录

完整内容参见原文: 数据分析工具PANDAS技巧-如何过滤数据