Python Pandas – 根据列的总和从数据帧中筛选列
要根据列的总和进行筛选,我们使用 loc() 方法。 在这里,我们的示例中,我们对每个学生的分数进行求和,以获得分数在400以上即80%的学生列。
首先,创建一个具有学生记录的数据帧。我们有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]
更多Pandas相关文章,请阅读:Pandas 教程
示例
下面是完整的代码 –
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 "数据帧...\n",dataFrame
#基于列进行筛选
# 获取总分大于400的学生
dataFrame = dataFrame.loc[:, dataFrame.sum(axis=0) > 400]
#数据帧
print "更新后的数据帧...\n",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
更新后的数据帧...
Jacob_Marks
0 95
1 90
2 75
3 85
4 88
极客教程