Lọc hàng trong Pandas DataFrames
Pandas là một thư viện mạnh mẽ trong Python để thao tác và phân tích dữ liệu. Một tác vụ phổ biến là chọn các hàng từ DataFrame dựa trên các giá trị cột, tương tự như bảng SELECT * FROM của SQL WHERE cột_name = some_value.
Hướng dẫn này sẽ hướng dẫn bạn các phương pháp khác nhau để đạt được điều này trong Pandas, giúp bạn dễ dàng lọc dữ liệu một cách hiệu quả. Cho dù bạn là người mới bắt đầu hay người dùng có kinh nghiệm, những mẹo này sẽ nâng cao kỹ năng xử lý dữ liệu của bạn.
Yêu cầu | Sự miêu tả |
---|---|
pd.DataFrame(data) | Tạo DataFrame từ từ điển dữ liệu. |
df[column_name] | Truy cập một cột trong DataFrame theo tên. |
df[condition] | Lọc DataFrame dựa trên điều kiện áp dụng cho một cột. |
print(selected_rows) | In DataFrame hoặc một tập hợp con của nó ra bảng điều khiển. |
df[df['Age'] >df[df['Age'] > 25] | Chọn các hàng có giá trị cột 'Tuổi' lớn hơn 25. |
df[df['City'] == 'Chicago'] | Chọn các hàng trong đó giá trị cột 'Thành phố' bằng 'Chicago'. |
Tìm hiểu về lựa chọn hàng DataFrame trong Pandas
Các tập lệnh được cung cấp minh họa cách chọn các hàng từ DataFrame dựa trên các giá trị cột bằng thư viện Pandas trong Python. Tập lệnh đầu tiên bắt đầu bằng cách nhập thư viện Pandas với yêu cầu. Sau đó, nó tạo một DataFrame mẫu bằng cách sử dụng từ điển dữ liệu, được chuyển đổi thành DataFrame với yêu cầu. Sau đó, tập lệnh minh họa hai phương pháp chọn hàng: chọn các hàng có giá trị cột 'Tuổi' lớn hơn 25 bằng cách sử dụng và chọn các hàng có giá trị cột 'Thành phố' là 'Chicago' bằng cách sử dụng df[df['City'] == 'Chicago']. Các DataFrames đã lọc này được in bằng cách sử dụng chức năng hiển thị các hàng đã chọn.
Kịch bản thứ hai có cấu trúc tương tự nhưng sử dụng dữ liệu và tiêu chí lựa chọn khác. Nó tạo một DataFrame với thông tin sản phẩm, bao gồm các cột 'Sản phẩm', 'Giá' và 'Kho hàng'. Các hàng được chọn trong đó 'Giá' nhỏ hơn hoặc bằng 200 với
Kỹ thuật nâng cao để chọn hàng DataFrame trong Pandas
Bên cạnh việc lọc cơ bản bằng cách sử dụng lập chỉ mục boolean, Pandas còn cung cấp các kỹ thuật nâng cao để chọn hàng dựa trên giá trị cột. Một phương pháp mạnh mẽ là sử dụng cho phép bạn lọc các hàng có biểu thức truy vấn, làm cho cú pháp rõ ràng hơn và thường trực quan hơn. Ví dụ, thay vì sử dụng , bạn có thể viết . Phương pháp này đặc biệt hữu ích khi xử lý các điều kiện phức tạp hơn hoặc khi tên cột chứa khoảng trắng. Ngoài ra, isin() Hàm này có lợi khi bạn muốn lọc các hàng dựa trên danh sách các giá trị. Ví dụ: để chọn các hàng có giá trị cột 'Thành phố' là 'Chicago' hoặc 'New York', bạn có thể sử dụng .
Một kỹ thuật khác bao gồm việc Và người lập chỉ mục. Các bộ chỉ mục dựa trên nhãn, cho phép bạn chọn các hàng dựa trên nhãn hàng và tên cột, trong khi iloc dựa trên vị trí số nguyên, cho phép lựa chọn theo số hàng và số cột. Tính linh hoạt này đặc biệt hữu ích khi chọn các hàng dựa trên điều kiện áp dụng cho một cột khác. Ví dụ, sẽ trả về tên của những cá nhân lớn hơn 25. Các phương pháp này mở rộng bộ công cụ của bạn để xử lý và phân tích dữ liệu trong Pandas một cách hiệu quả, cung cấp mã dễ đọc và dễ bảo trì hơn.
- Làm cách nào tôi có thể chọn các hàng dựa trên nhiều điều kiện?
- Bạn có thể dùng hoặc kết hợp các điều kiện với các toán tử logic như Và . Ví dụ, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
- Tôi có thể lọc các hàng dựa trên danh sách giá trị không?
- Có, hãy sử dụng chức năng. Ví dụ, .
- Sự khác biệt giữa Và ?
- dựa trên nhãn, trong khi dựa trên vị trí số nguyên. Sử dụng với nhãn hàng/cột và iloc với chỉ số hàng/cột.
- Làm cách nào tôi có thể chọn các cột cụ thể trong khi lọc hàng?
- Bạn có thể dùng . Ví dụ, .
- Làm cách nào để xử lý các giá trị bị thiếu khi chọn hàng?
- Sử dụng chức năng xóa các hàng có giá trị bị thiếu hoặc để thay thế chúng bằng một giá trị xác định.
- Tôi có thể sử dụng biểu thức chính quy để lọc hàng không?
- Vâng hoạt động với tham số cho phép bạn lọc các hàng dựa trên mẫu biểu thức chính quy. Ví dụ, .
- Làm cách nào để lọc các hàng dựa trên chỉ mục?
- Bạn có thể dùng với tên chỉ mục. Ví dụ, .
- Điều gì sẽ xảy ra nếu tên cột của tôi chứa dấu cách hoặc ký tự đặc biệt?
- Sử dụng hàm có thể xử lý các tên cột như vậy bằng dấu backticks. Ví dụ, .
Suy nghĩ cuối cùng về kỹ thuật chọn hàng DataFrame
Chọn các hàng từ DataFrame dựa trên các giá trị cột trong Pandas là một kỹ năng quan trọng để thao tác dữ liệu. Các phương pháp khác nhau được thảo luận, bao gồm lập chỉ mục boolean, , và lập chỉ mục dựa trên nhãn và dựa trên vị trí số nguyên với Và iloc, cung cấp các công cụ mạnh mẽ để lọc dữ liệu hiệu quả. Việc thành thạo các kỹ thuật này cho phép phân tích dữ liệu tốt hơn và mã sạch hơn, dễ bảo trì hơn.