基于总和从DataFrame中过滤出几行的Python Pandas
为了根据总和从DataFrame中过滤出几行,我们采用了学生分数的示例。我们需要计算特定科目的总和,其中总和大于200,即该特定科目中所有3个学生的总和大于200。通过这种方式,我们可以筛选小于200的总和行。
首先,让我们创建一个有3列的数据框,即3个学生的记录−
dataFrame = pd.DataFrame({'Jacob_Marks': [95, 90, 70, 85, 88],'Ted_Marks': [60, 50, 65, 85, 70],'Jamie_Marks': [77, 76, 60, 45, 50]})
基于行过滤。 获取对于所有3个学生总和大于200的行−
dataFrame = dataFrame[dataFrame.sum(axis=1) > 200]
例子
以下是完整代码−
import pandas as pd
# 创建一个有3列的数据帧
dataFrame = pd.DataFrame({'Jacob_Marks': [95, 90, 70, 85, 88],'Ted_Marks': [60, 50, 65, 85, 70],'Jamie_Marks': [77, 76, 60, 45, 50]})
print"数据帧...\n",dataFrame
# 基于行过滤
# 获取对于所有3个学生总和大于200的行
dataFrame = dataFrame[dataFrame.sum(axis=1) > 200]
# 数据帧
print"更新的数据帧...\n",dataFrame
输出
这会产生以下输出−
数据帧...
Jacob_Marks Jamie_Marks Ted_Marks
0 95 77 60
1 90 76 50
2 70 60 65
3 85 45 85
4 88 50 70
更新的数据帧...
Jacob_Marks Jamie_Marks Ted_Marks
0 95 77 60
1 90 76 50
3 85 45 85
4 88 50 70
极客教程