Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas - Lọc các cột từ DataFrame trên cơ sở tổng

Để lọc trên cơ sở tổng các cột, chúng tôi sử dụng loc () phương pháp. Ở đây, trong ví dụ của chúng tôi, chúng tôi tổng hợp điểm của mỗi học sinh để có được cột học sinh có điểm trên 400, tức là 80%.

Lúc đầu, hãy tạo một DataFrame với hồ sơ học sinh. Chúng tôi có hồ sơ điểm của 3 học sinh, tức là 3 cột -

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

Lọc trên cơ sở các cột. Tìm nạp học sinh có tổng điểm trên 400 -

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

Ví dụ

Sau đây là mã hoàn chỉnh -

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

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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