Python Pandas - 根据总和从 DataFrame 中过滤列
为了根据列的总和进行过滤,我们使用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