你可以使用 all(axis=1) 方法来检查每一行的数据是否都满足条件。语句 df.all(axis=1) 实际上是检查每个元素是否为 True,而不是检查具体的值。
你需要先对每个科目的成绩进行比较,得到一个布尔值的 DataFrame,然后再用 all(axis=1) 检查每一行的三个布尔值是否都为 True。
以下是正确的实现方法:
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({'姓名': ['A', 'B', 'C'], '语文': [70, 50, 80], '数学': [60, 85, 55], '英语': [90, 65, 70]})
# 检查每个科目是否大于等于60分
condition = (df['语文'] >= 60) & (df['数学'] >= 60) & (df['英语'] >= 60)
# 获取满足条件的学生姓名
result = df[condition]['姓名']
print(result)
这样,你就可以得到三科成绩都大于等于60分的学生姓名。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |