首页 >后端开发 >Python教程 >如何根据 Pandas 中的多个标准选择 DataFrame 值?

如何根据 Pandas 中的多个标准选择 DataFrame 值?

Patricia Arquette
Patricia Arquette原创
2024-12-05 13:09:10910浏览

How to Select DataFrame Values Based on Multiple Criteria in Pandas?

从 pandas.DataFrame 中选择复杂的条件

基于多个条件从 DataFrame 中选择特定值

让我们假设我们有一个简单的 DataFrame,例如以下:

import pandas as pd
from random import randint

df = pd.DataFrame({'A': [randint(1, 9) for x in range(10)],
                   'B': [randint(1, 9)*10 for x in range(10)],
                   'C': [randint(1, 9)*100 for x in range(10)]})

我们的目标是从“A”列中选择值满足“B”和“C”列中相应值的特定标准。

使用布尔索引的方法

为了实现这一点,我们可以利用布尔索引。首先,我们为每个条件创建布尔系列对象:

df["B"] > 50
(df["B"] > 50) & (df["C"] != 900)

这些布尔系列表示满足各自条件的行。然后,我们可以使用这些 Series 作为索引来选择所需的值:

df["A"][df["B"] > 50]
df["A"][(df["B"] > 50) & (df["C"] != 900)]

使用 .loc 的方法

我们还可以使用 .loc 属性来实现更高效的索引。 .loc 允许我们使用单个语句指定要检索的行和列:

df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]

结论

两种方法都可以根据复杂的条件从 DataFrame 中有效地选择值。选择使用布尔索引还是.loc取决于个人喜好和代码可读性。

以上是如何根据 Pandas 中的多个标准选择 DataFrame 值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn