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

Python - Lọc hàng dựa trên giá trị cột với chức năng truy vấn trong Pandas?

Để lọc các hàng dựa trên giá trị cột, chúng ta có thể sử dụng hàm query (). Trong hàm, hãy đặt điều kiện mà bạn muốn lọc bản ghi. Đầu tiên, hãy nhập thư viện được yêu cầu -

 nhập gấu trúc dưới dạng pd 

Sau đây là dữ liệu của chúng tôi với Hồ sơ nhóm -

 Team =[['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75], ['New Zealand', 4, 65], ['South Châu Phi ', 5, 50], [' Bangladesh ', 6, 40]] 

Tạo DataFrame từ phía trên và thêm các cột -

 dataFrame =pd.DataFrame (Đội, cột =['Quốc gia', 'Xếp hạng', 'Điểm']) 

Sử dụng query () để lọc các bản ghi có “Xếp hạng” bằng 5 -

 dataFrame.query ("Xếp hạng ==5")) 

Ví dụ

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

 nhập gấu trúc dưới dạng dữ liệu pd # ở dạng danh sách xếp hạng độiTeam =[['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75], [ 'New Zealand', 4, 65], ["Nam Phi", 5, 50], ['Bangladesh', 6, 40]] # Tạo DataFrame và thêm cộtdataFrame =pd.DataFrame (Nhóm, cột =['Quốc gia ',' Xếp hạng ',' Điểm ']) in "DataFrame ... \ n", dataFrame # sử dụng truy vấn để lọc rowsprint "\ nTìm nạp Nhóm có Xếp hạng 5 .. \ n", dataFrame.query ("Xếp hạng ==5 ") 

Đầu ra

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

 DataFrame ... Điểm xếp hạng quốc gia 0 Ấn Độ 1 1001 Úc 2 852 Anh 3 753 New Zealand 4 654 Nam Phi 5 505 Bangladesh 6 40 Nhóm tìm nạp có thứ hạng 5.. 

Ví dụ

Hãy để chúng tôi xem một ví dụ khác. Ở đây, chúng tôi có một điều kiện khác để lọc các hàng -

 nhập gấu trúc dưới dạng dữ liệu pd # ở dạng danh sách xếp hạng độiTeam =[['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75], [ 'New Zealand', 4, 65], ["Nam Phi", 5, 50], ['Bangladesh', 6, 40]] # Tạo DataFrame và thêm cộtdataFrame =pd.DataFrame (Nhóm, cột =['Quốc gia ',' Xếp hạng ',' Điểm ']) print "DataFrame ... \ n", dataFrame # bằng cách sử dụng truy vấn để lọc rowsprint "\ nFetch Team có điểm trên 70 và Xếp hạng dưới 3 .. \ n" print (dataFrame. truy vấn ("Điểm> 70 và Xếp hạng <3")) 

Đầu ra

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

 Dữ liệu 85