让我们假设我们有一个简单的 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 允许我们使用单个语句指定要检索的行和列:
df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]
两种方法都可以根据复杂的条件从 DataFrame 中有效地选择值。选择使用布尔索引还是.loc取决于个人喜好和代码可读性。
以上是如何根据 Pandas 中的多个标准选择 DataFrame 值?的详细内容。更多信息请关注PHP中文网其他相关文章!