📅  最后修改于: 2023-12-03 15:38:57.854000             🧑  作者: Mango
在 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)
输出如下:
['小明', '小张', '小黑']
代码解析:
df['数学'] >= 80
来筛选出数学成绩大于等于80分的行。df.loc[condition, columns]
来定位符合条件的行和要返回的列。这里 condition
是上一步筛选出的结果,而 '姓名'
则代表我们要返回的列。tolist()
将返回的索引标签转换为列表类型。这篇介绍主要是讲解如何在 Pandas Dataframe 中根据列的条件返回索引标签。我们使用了 df.loc[condition, columns]
这个方法来实现。这个方法可用于不仅可用于 Dataframe 中的行选择,同样地也可用于列选择。在实际数据处理中,我们通常需要对数据进行复杂的筛选和操作,因此需要掌握这个方法的使用。