Python Pandas - 根据总和从 DataFrame 过滤列


如需根据列的总和进行筛选,我们使用 loc() 方法。在我们的示例中,我们将每个学生的成绩进行求和,以获取学生列中成绩高于 400(即 80%)的学生。

首先,使用学生记录创建一个 DataFrame。有 3 个学生的成绩记录,即 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]})

根据列进行筛选。获取总成绩高于 400 的学生 -

dataFrame = dataFrame.loc[:, dataFrame.sum(axis=0) > 400]

示例

以下是完整代码 -

import pandas as pd

# create a dataframe with 3 columns
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

# filtering on the basis of columns
# fetching student with total marks above 400
dataFrame = dataFrame.loc[:, dataFrame.sum(axis=0) > 400]

# dataframe
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

更新日期:16-Sep-2021

701 次浏览

开启您的 职业 生涯

完成课程并获得认证

开始
广告
© . All rights reserved.