📌  相关文章
📜  如果 Pandas Dataframe 中的列满足某些条件,则返回索引标签(1)

📅  最后修改于: 2023-12-03 15:38:57.854000             🧑  作者: Mango

介绍如何在 Pandas Dataframe 中根据列满足某些条件返回索引标签

在 Pandas 中,我们经常需要根据某些条件来筛选 Dataframe 中的行或列。在某些情况下,我们可能需要根据列的条件来返回它们的索引标签。这篇介绍将会告诉你如何实现这一操作。

示例数据

为了方便说明,我们选取了一个示例数据。我们先通过以下代码构造一个包含成绩信息的 Dataframe。

import pandas as pd

data = {'姓名': ['小明', '小李', '小张', '小红', '小黑'],
        '语文': [78, 54, 79, 90, 88],
        '数学': [89, 67, 76, 45, 93],
        '英语': [90, 78, 85, 89, 76]}
df = pd.DataFrame(data)
print(df)

输出如下:

   姓名  语文  数学  英语
0  小明  78  89  90
1  小李  54  67  78
2  小张  79  76  85
3  小红  90  45  89
4  小黑  88  93  76
实现条件筛选

接下来,我们要实现的是如果数学成绩高于等于80分,则返回对应行的姓名。

indices = df.loc[df['数学'] >= 80, '姓名'].tolist()
print(indices)

输出如下:

['小明', '小张', '小黑']

代码解析:

  1. 使用 df['数学'] >= 80 来筛选出数学成绩大于等于80分的行。
  2. 使用 df.loc[condition, columns] 来定位符合条件的行和要返回的列。这里 condition 是上一步筛选出的结果,而 '姓名' 则代表我们要返回的列。
  3. 使用 tolist() 将返回的索引标签转换为列表类型。
总结

这篇介绍主要是讲解如何在 Pandas Dataframe 中根据列的条件返回索引标签。我们使用了 df.loc[condition, columns] 这个方法来实现。这个方法可用于不仅可用于 Dataframe 中的行选择,同样地也可用于列选择。在实际数据处理中,我们通常需要对数据进行复杂的筛选和操作,因此需要掌握这个方法的使用。