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

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

我们可以使用不同的条件比较Pandas DataFrame的所有列值。我们可以执行比较操作,比如 **df[col] <5, df[col]10 ** 等等。例如,如果我们使用条件 **df[col] >2 ** ,那么它将检查col的所有值,并比较它们是否大于2。对于所有列值,如果条件成立,则返回True,否则返回False。让我们举个例子来看看怎么做。

步骤

  • 创建二维的、可调整大小的、可能不同类型的表格数据, df
  • 打印输入的DataFrame, df
  • 初始化一个变量col,用一个列名。
  • 执行一些比较操作。
  • 打印结果DataFrame。

举例

import pandas as pd

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

col = "x"
print "列 ", col, "中大于 5 的元素:\n", df[col] > 5
print "列 ", col, "中等于 5 的元素:\n", df[col] == 5

col = "y"
print "列 ", col, "中小于 5 的元素:\n", df[col] < 5
print "列 ", col, "中不等于 5 的元素:\n", df[col] != 5

输出

输入的DataFrame是:
   x  y  z
0  5  4  9
1  2  7  3
2  7  5  5
3  0  1  1

列 x 中大于 5 的元素:
0  False
1  False
2  True
3  False
Name: x, dtype: bool

列 x 中等于 5 的元素:
0  True
1  False
2  False
3  False
Name: x, dtype: bool

列 y 中小于 5 的元素:
0  True
1  False
2  False
3  True
Name: y, dtype: bool

列 y 中不等于 5 的元素:
0  True
1  True
2  False
3  True
Name: y, dtype: bool

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程