Python数据分析之 Pandas Dataframe条件筛选遍历详情

目录

一、条件筛选

查询Pandas Dataframe数据时,经常会筛选出符合条件的数据,接下来介绍一下具体的使用方式。

示例Dataframe如下:

Python数据分析之 Pandas Dataframe条件筛选遍历详情

单条件筛选,例如查询gender为woman的数据:

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

Python数据分析之 Pandas Dataframe条件筛选遍历详情

使用isin()函数筛选,例如查询age为24、28的数据:

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

Python数据分析之 Pandas Dataframe条件筛选遍历详情

当有多个过滤条件时,可以使用逻辑操作符&|,如下。

例如:查询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...语句进行遍历,遍历结果是列的名称,如下:

for i in df:
    print(i)

结果输出如下:

Python数据分析之 Pandas Dataframe条件筛选遍历详情

如果要遍历 DataFrame 的行数据,需要使用以下方法:

iteritems()方法

iteritems()方法是按列进行遍历,遍历结果为为(列名, value)键值对:

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

Python数据分析之 Pandas Dataframe条件筛选遍历详情

iterrows()方法

 iterrows()方法是按行进行遍历,遍历结果为(index, value)键值对:

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

Python数据分析之 Pandas Dataframe条件筛选遍历详情

itertuples()方法

itertuples()是以namedtuples(命名元组)形式遍历行,遍历每一行为一个命名元组:

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

Python数据分析之 Pandas Dataframe条件筛选遍历详情

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容