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

Python - Lọc Pandas DataFrame bằng numpy

Phương thức numpy where () có thể được sử dụng để lọc Pandas DataFrame. Đề cập đến các điều kiện trong phương thức where (). Đầu tiên, hãy để chúng tôi nhập các thư viện được yêu cầu với bí danh tương ứng của chúng

 nhập gấu trúc dưới dạng pdimport numpy dưới dạng np 

Bây giờ chúng tôi sẽ tạo một Pandas DataFrame với các bản ghi Sản phẩm

 dataFrame =pd.DataFrame ({"Sản phẩm":["SmartTV", "ChromeCast", "Loa", "Tai nghe"], "Opening_Stock":[300, 700, 1200, 1500], "Closing_Stock":[200, 500, 1000, 900]}) 

Sử dụng numpy where () để lọc DataFrame với 2 điều kiện

 resValues1 =np.where ((dataFrame ['Opening_Stock']> =700) &(dataFrame ['Closing_Stock'] <1000)) print "\ n Giá trị DataFrame được lọc =\ n", dataFrame.loc [resValues1] 

Hãy để chúng tôi sử dụng numpy where () một lần nữa để lọc DataFrame với 3 điều kiện

 resValues2 =np.where ((dataFrame ['Opening_Stock']> =500) &(dataFrame ['Closing_Stock'] <1000) &(dataFrame ['Product']. str.startswith ('C'))) 

Ví dụ

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

 nhập gấu trúc dưới dạng pdimport numpy as npdataFrame =pd.DataFrame ({"Sản phẩm":["SmartTV", "ChromeCast", "Loa", "Tai nghe"], "Opening_Stock":[300, 700, 1200, 1500 ], "Closing_Stock":[200, 500, 1000, 900]}) in "DataFrame ... \ n", dataFrame # sử dụng numpy where () để lọc DataFrame với 2 conditionresValues1 =np.where ((dataFrame ['Opening_Stock ']> =700) &(dataFrame [' Closing_Stock '] <1000)) in "\ n Giá trị DataFrame được lọc =\ n", dataFrame.loc [resValues1] # sử dụng numpy where () để lọc DataFrame với 3 điều kiệnresValues2 =np. where ((dataFrame ['Opening_Stock']> =500) &(dataFrame ['Closing_Stock'] <1000) &(dataFrame ['Product']. str.startswith ('C'))) print "\ n Giá trị DataFrame được lọc =\ n ", dataFrame.loc [resValues2] 

Đầu ra

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

 Dữ liệu