首页 >后端开发 >Python教程 >如何根据多个复杂标准从 pandas DataFrame 中选择数据?

如何根据多个复杂标准从 pandas DataFrame 中选择数据?

Barbara Streisand
Barbara Streisand原创
2024-12-24 00:50:18144浏览

How to Select Data from a pandas DataFrame Based on Multiple Complex Criteria?

从 pandas.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”的对应值大于 50,而“C”则不大于 50等于 900,我们可以利用 Pandas 的方法和习惯用法。

我们首先应用列运算来获取布尔 Series 对象:

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

这些 Series 代表我们感兴趣的条件。然后,我们可以使用以下条件对 DataFrame 进行索引来过滤数据:

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

或者,我们可以使用.loc 来实现相同的结果:

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

此方法提供更多控制并允许更可定制的索引体验。

生成的 DataFrame 将仅包含 'A' 的值满足指定条件。

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

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