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

Python Pandas - กรองสองสามแถวจาก DataFrame บนพื้นฐานของ sum


ในการกรองแถวสองสามแถวจาก DataFrame โดยพิจารณาจากผลรวม เราได้พิจารณาตัวอย่างด้วย Student Marks เราจำเป็นต้องคำนวณผลรวมของวิชาใดวิชาหนึ่งโดยเฉพาะซึ่งมียอดรวมมากกว่า 200 กล่าวคือ มีนักเรียนทั้งหมด 3 คนในวิชานั้นมากกว่า 200 คน ด้วยวิธีนี้ เราจะสามารถปรับแถวของเราให้เหมาะสมโดยมีจำนวนรวมน้อยกว่า 200

ขั้นแรก ให้เราสร้าง DataFrame ที่มี 3 คอลัมน์ นั่นคือ บันทึกของนักเรียน 3 คน -

dataFrame = pd.DataFrame({'Jacob_Marks': [95, 90, 70, 85, 88],'Ted_Marks': [60, 50, 65, 85, 70],'Jamie_Marks': [77, 76, 60, 45, 50]})

การกรองตามแถว กำลังดึงแถวที่มีทั้งหมดมากกว่า 200 สำหรับนักเรียนทั้ง 3 คน -

dataFrame = dataFrame[dataFrame.sum(axis=1) > 200]

ตัวอย่าง

ต่อไปนี้เป็นรหัสที่สมบูรณ์ -

import pandas as pd

# create a dataframe with 3 columns
dataFrame = pd.DataFrame({'Jacob_Marks': [95, 90, 70, 85, 88],'Ted_Marks': [60, 50, 65, 85, 70],'Jamie_Marks': [77, 76, 60, 45, 50]})

print"Dataframe...\n",dataFrame

# filtering on the basis of rows
# fetching rows with total greater than 200 for all the 3 students
dataFrame = dataFrame[dataFrame.sum(axis=1) > 200]

# dataframe
print"Updated Dataframe...\n",dataFrame

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

Dataframe...
   Jacob_Marks  Jamie_Marks   Ted_Marks
0           95           77         60
1           90           76         50
2           70           60         65
3           85           45         85
4           88           50         70
Updated Dataframe...
   Jacob_Marks   Jamie_Marks   Ted_Marks
0           95            77         60
1           90            76         50
3           85            45         85
4           88            50         70