Lọc dữ liệu
Bài học 9 trên 19 trong khóa học Phân tích dữ liệu với pandas của Coddy.
Pandas cho phép chúng ta lọc các hàng dựa trên một điều kiện cụ thể. Để lọc các hàng, hãy viết điều kiện bên trong dấu ngoặc vuông:
filtered_df = df[df["number_column"] > 5]
filtered_df = df[df["string_column"] == "String Match"]Để kết hợp nhiều điều kiện, hãy dùng từ khóa & (và) và toán tử | (hoặc). Mỗi điều kiện phải nằm trong dấu ngoặc đơn ():
filtered_df = df[(df['number_column'] >= 3) & (df['string_column'] == 'String Match')]Từ khóa not là ~ (không lớn hơn 5):
filtered_df = df[~df["number_column"] > 5]Để lấy tất cả giá trị không trống từ một cột cụ thể:
filtered_df = df[~df["column"].isna()]Để kiểm tra xem một giá trị có nằm trong một mảng hay không:
filtered_df = df[df['column'].isin(['value1', 'value2', 'value3'])]
Thử thách
DễTệp CSV stats.csv chứa thông tin về các số liệu thống kê.
Đây là 5 dòng đầu tiên của tệp:
ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPEChỉ lấy các hàng đáp ứng những tiêu chí sau:
SKILL_POINTSlớn hơn7.UTILIZATIONnhỏ hơn hoặc bằng0.7hoặc lớn hơn0.95.IS_VALIDbằng một.CATEGORYlà một trong các giá trị sau:JAPE,PLQRvàGHUP
Lưu kết quả cuối cùng vào biến df.
Tự làm thử
# pandas đã được nhập với tên pd
df = pd.read_csv("./stats.csv")
# Viết code bên dưới
Tất cả bài học trong Phân tích dữ liệu với pandas
4Phân tích dữ liệu với Pandas
Thống kê mô tảNhóm và tổng hợp dữ liệuCác phép tổng hợp khác nhauHợp nhất và nối3Thao tác dữ liệu với Pandas
Trả về kết quả được yêu cầuLọc dữ liệuThêm và xóaChỉnh sửa dữ liệuChỉnh sửa chuỗiTùy chỉnh các thao tác chỉnh sửaTự luyện tập: Trình biên dịch Python online