Python Pandas Dataframe条件筛选与遍历方法详解
本文详细介绍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遍历内容可参考本站往期文章或继续浏览后续内容,感谢支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









