Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - การกรองคอลัมน์จาก DataFrame บนพื้นฐานของ sum


ในการกรองตามผลรวมของคอลัมน์ เราใช้ 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