PYTHON:过滤 PANDAS DATAFRAME 的 10 种方法.pdf

PYTHON:过滤 PANDAS DATAFRAME 的 10 种方法.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在本文中,我们将介绍在 Python 中过滤 pandas 数据框的各种方法。数据过 滤是最常见的数据操作之一。它类似于 SQL 中的 WHERE 子句,或者您必须在 MS Excel 中使用过滤器来根据某些条件选择特定的行。在速度方面,python 有一种高效的方式来执行过滤和聚合。它有一个名为 pandas 的优秀包,用于 数据整理任务。Pandas 建立在用 C 语言编写的 numpy 包之上,这是一种低级 语言。因此,使用 包进行数据操作是处理大型数据集的快速而智能的方法。 数据过滤示例 它是预测建模或任何报告项目的数据准备的最初始步骤之一。它也被称为 “子 集数据”。请参阅下面的一些数据过滤示例。 导入数据 在提交以下代码之前, 请确保已安装pandas 包,您可以通过在 Ipython 控制 台中运行!pip show pandas语句来检查它。如果没有安装,可以使用命令安 装!pip install pandas。 我们将使用包含 2013 年从纽约起飞的航班详细信息的数据集。该数据集有 336776 行和 16 列。请参阅下面的列名称。要导入数据集,我们使用 read_csv( )pandas 包中的函数。 [year, month, day, dep_time, dep_delay, arr_time, arr_delay, carrier, tailnum, flight, origin, dest, air_time, distance, hour, minute] import pandas as pd df = pd.read_csv( s://raw.githubusercontent /JackyP/testing/master/datasets/nycflights.csv, usecols=range(1,17)) 按列值过滤熊猫数据框 选择 JetBlue Airways 的航班详情,该航班有 2 个字母的承运人代码 B6,来 自JFK 机场 方法一:DataFrame 方式 newdf = df[(df.origin == JFK) (df.carrier == B6)] newdf.head() Out[23]: year month day dep_time ... air_time distance hour minute 3 2013 1 1 544.0 ... 183.0 1576 5.0 44.0 8 2013 1 1 557.0 ... 140.0 944 5.0 57.0 10 2013 1 1 558.0 ... 149.0 1028 5.0 58.0 11 2013 1 1 558.0 ... 158.0 1005 5.0 58.0 15 2013 1 1 559.0 ... 44.0 187 5.0 59.0 [5 rows x 16 columns] 1. 过滤后的数据(子集化后)存储在名为 newdf. 2. 符号指的是 AND 条件,这意味着同时满足这两个标准。 3. 这部分代码 (df.origin == JFK) (df.carrier == B6)返回 True / False。条件匹配时为真,条件不成立时为假。稍后它在 df 中传递并 返回与 True 对应的所有行。它返回 4166 行。 方法二:查询函数 在 pandas 包中,有多种方法可以执行过滤。上面的代码也可以写成如下所示 的代码。这种方法优雅且更具可读性,并且在指定列(变量)时无需每次都提 及数据框名称。 newdf = df.query(origin == JFK carrier == B6) 如何在查询函数中传递变量 方法三:loc 函数 loc 是位置术语 的缩写。所有这 3 种方法都返回相同的输出。这只是过滤行 的不同方式。 newdf = df.loc[(df.origin == JFK) (df.carrier == B6)] 按行和列位置过滤 Pandas Dataframe 假设您要按位置选择

文档评论(0)

聚好信息咨询 + 关注
官方认证
服务提供商

本公司能够提供如下服务:办公文档整理、试卷、文档转换。

认证主体鹤壁市淇滨区聚好信息咨询服务部
IP属地河南
统一社会信用代码/组织机构代码
92410611MA40H8BL0Q

1亿VIP精品文档

相关文档