为了根据列的总和进行过滤,我们使用loc()方法。在这里,在我们的示例中,我们将每个学生的分数相加以获得分数高于 400 的学生列,即 80%。
首先,创建一个包含学生记录的 DataFrame。我们有 3 名学生i.e3 列的分数记录-
dataFrame = pd.DataFrame({ 'Jacob_Marks': [95, 90, 75, 85, 88],'Ted_Marks': [60, 50, 65, 85, 70],'Jamie_Marks': [77, 76, 65, 45, 50]})
基于列过滤。获取总分高于 400 的学生 -
dataFrame = dataFrame.loc[:, dataFrame.sum(axis=0) > 400]
以下是完整的代码 -
import pandas as pd # 创建一个包含 3 列的数据框 dataFrame = pd.DataFrame({ 'Jacob_Marks': [95, 90, 75, 85, 88],'Ted_Marks': [60, 50, 65, 85, 70],'Jamie_Marks': [77, 76, 65, 45, 50]}) print"Dataframe...\n",dataFrame # 基于列过滤 # 招收总分400以上的学生 dataFrame = dataFrame.loc[:, dataFrame.sum(axis=0) > 400] # 数据框 print"Updated Dataframe...\n",dataFrame输出结果
这将产生以下输出 -
Dataframe... Jacob_Marks Jamie_Marks Ted_Marks 0 95 77 60 1 90 76 50 2 75 65 65 3 85 45 85 4 88 50 70 Updated Dataframe... Jacob_Marks 0 95 1 90 2 75 3 85 4 88