首页 > 解决方案 > Python Pandas 按条件过滤

问题描述

假设我有一个包含七列的 Pandas 数据框,设置如下:

   A  B  C  D  E  F  G
0  1  2  3  4  5  6  7
1  8  9  0  1  2  3  4`

现在我想创建一个新的数据框,其中从AtoE到的所有列都从范围xy(包括xand y)过滤,列F在 valuexz(包括xand z)之间进行过滤。

解决这个问题的最佳方法是什么?

非常感谢提前。

标签: pythonpandasdataframe

解决方案


国际大学联合会,

cols = ['A', 'B', 'C', 'D', 'E']
df[cols] = df[cols].where(df[cols].le(y) & df[cols].ge(x))
df['F'] = df['F'].where(df['F'].between(x, z, inclusive=True))

推荐阅读