使用复杂条件从 Pandas DataFrame 中进行筛选


我们可以使用不同的条件来比较 Pandas DataFrame 的所有列值。我们可以执行比较运算,如 df[col]<5, df[col]==10 等。例如,如果我们使用条件 df[col]>2,那么它将检查 col 中的所有值并比较它们是否大于 2。对于所有列值,如果条件成立,它将返回真,否则返回假。让我们举一个例子看看它是如何完成的。

步骤

  • 创建一个二维、大小可变、潜在异构的表格数据,df
  • 打印输入的数据框,df
  • 初始化一个变量 col,并指定一个列名。
  • 执行一些比较运算。
  • 打印结果数据框。

示例

import pandas as pd

df = pd.DataFrame(
     {
        "x": [5, 2, 7, 0],
        "y": [4, 7, 5, 1],
        "z": [9, 3, 5, 1]
     }
)
print "Input DataFrame is:\n", df

col = "x"
print "Elements > 5 in column ", col, ":\n", df[col] > 5
print "Elements == 5 in column ", col, ":\n", df[col] == 5

col = "y"
print "Elements < 5 in column ", col, ":\n", df[col] < 5
print "Elements != 5 in column ", col, ":\n", df[col] != 5

输出

Input DataFrame is:
   x  y  z
0  5  4  9
1  2  7  3
2  7  5  5
3  0  1  1

Elements > 5 in column x :
0  False
1  False
2  True
3  False
Name: x, dtype: bool

Elements == 5 in column x :
0  True
1  False
2  False
3  False
Name: x, dtype: bool

Elements < 5 in column y :
0  True
1  False
2  False
3  True
Name: y, dtype: bool

Elements != 5 in column y :
0  True
1  True
2  False
3  True
Name: y, dtype: bool

更新时间:14-Sep-2021

125 浏览量

开始你的 职业

通过完成课程取得认证

开始
广告