Python Pandas Dataframe条件筛选与遍历方法详解

顾星河
顾星河
发布时间:2026-10-15 | 2人浏览过
原创

本文详细介绍Python中Pandas库对Dataframe进行条件筛选与遍历的常用方法。涵盖单条件、多条件(逻辑与或)及取反筛选,以及iteritems、iterrows和itertuples三种遍历方式,帮助开发者高效处理数据。

一、条件筛选

在使用Pandas处理Dataframe数据时,筛选符合特定条件的数据是常见操作。本文将具体介绍几种常用的筛选方式。

假设存在如下示例Dataframe:

进行单条件筛选,例如查询gender字段值为"woman"的记录:

df[df["gender"]=="woman"]
# 或
df.loc[df["gender"]=="woman"]

利用isin()函数进行筛选,例如查询age字段值为24或28的记录:

df[df["age"].isin([24,28])]

当需要同时满足多个过滤条件时,可以结合逻辑操作符&和|使用,具体示例如下。

例如:查询gender为"woman"且city为"shanghai"的数据:

df[(df["gender"]=="woman") & (df["city"]=="shanghai")]

或者查询age大于25或者gender为"woman"的数据:

df[(df["age"]>25) | (df["gender"]=="woman")]

注意:使用逻辑操作符连接多个过滤条件时,每个条件必须用圆括号()包裹,否则可能导致报错或筛选无效。

使用波浪线符~可以获取指定条件的相反数据,例如查询city不为"beijing"的记录:

df[~(df["city"]=="beijing")]

二、Dataframe数据遍历

for...in...语句

由于Dataframe对象是可迭代的,因此可以使用for...in...语句进行遍历。需要注意的是,直接遍历Dataframe默认返回的是列名,示例如下:

for i in df:
    print(i)

运行结果输出如下:

若需遍历Dataframe的行数据,可采用以下方法:

iteritems()方法

iteritems()方法按列进行遍历,返回的结果为(列名, 值)形式的键值对:

for column, value in df.iteritems():
    print(column)
    print(value)

iterrows()方法

iterrows()方法按行进行遍历,返回的结果为(索引, 行数据)形式的键值对:

for index, row in df.iterrows():
    print(index)
    print(row)

itertuples()方法

itertuples()方法以namedtuples的形式遍历每一行,将每行数据作为一个命名元组输出:

for row in df.itertuples():
    print(row)

以上就是关于Python数据分析中Pandas Dataframe条件筛选与遍历的详细介绍,更多相关Pandas Dataframe遍历内容可参考本站往期文章或继续浏览后续内容,感谢支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表