从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