Chọn các hàng DataFrame dựa trên các giá trị cột trong Python

Python

Sử dụng Pandas để lọc DataFrames theo giá trị cột

Khi làm việc với dữ liệu bằng Python, thư viện Pandas cung cấp các công cụ mạnh mẽ để 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ị trong một cột cụ thể. Thao tác này gần giống với truy vấn SQL: SELECT * FROM table WHERE cột_name = some_value.

Trong bài viết này, chúng ta sẽ khám phá cách đạt được điều này trong Pandas bằng nhiều phương pháp khác nhau. Cho dù bạn đang lọc theo một giá trị hay nhiều tiêu chí, Pandas đều cung cấp các cách trực quan và hiệu quả để xử lý các hoạt động đó. Hãy đi sâu vào chi tiết.

Yêu cầu Sự miêu tả
pd.DataFrame() Tạo đối tượng DataFrame từ từ điển hoặc cấu trúc dữ liệu khác.
df[condition] Lọc các hàng DataFrame dựa trên một điều kiện, chỉ trả về những hàng đáp ứng tiêu chí.
print() Xuất thông báo hoặc DataFrame được chỉ định tới bảng điều khiển.
df['column'] == value Tạo một Chuỗi boolean dùng để lọc các hàng trong đó cột khớp với giá trị đã chỉ định.
df['column'] >df['column'] > value Tạo một Chuỗi boolean được sử dụng để lọc các hàng trong đó giá trị cột lớn hơn giá trị được chỉ định.
# Comment Được sử dụng để thêm giải thích hoặc ghi chú trong mã, những phần này không được thực thi như một phần của tập lệnh.

Triển khai lựa chọn hàng DataFrame trong Pandas

Trong các tập lệnh được cung cấp, nhiệm vụ chính là lọc các hàng từ DataFrame dựa trên các giá trị cột cụ thể, một yêu cầu chung trong phân tích dữ liệu. Tập lệnh đầu tiên bắt đầu bằng cách nhập thư viện Pandas với . Điều này rất cần thiết vì Pandas là thư viện thao tác dữ liệu mạnh mẽ trong Python. Tiếp theo, chúng tôi tạo một DataFrame mẫu bằng cách sử dụng với một từ điển chứa dữ liệu về tên, độ tuổi và thành phố. Cấu trúc này cho phép chúng ta dễ dàng hình dung và thao tác với dữ liệu dạng bảng. Phần quan trọng của tập lệnh là nơi chúng tôi lọc các hàng bằng cách sử dụng . Lệnh này chọn tất cả các hàng có giá trị của cột thành phố là 'New York'. Kết quả được lưu trữ trong biến ny_rows, sau đó được in để hiển thị DataFrame đã lọc.

Tập lệnh thứ hai có cấu trúc tương tự nhưng tập trung vào việc lọc các hàng dựa trên điều kiện số. Sau khi nhập Pandas và tạo DataFrame với các cột sản phẩm, giá và số lượng, tập lệnh sẽ sử dụng để lọc các hàng có giá lớn hơn 150. Lệnh này tạo ra một tập hợp con của DataFrame gốc chỉ chứa các hàng đáp ứng điều kiện đã chỉ định. Kết quả được lưu trữ trong và in ra để xác minh. Cả hai tập lệnh đều thể hiện sức mạnh và sự đơn giản của Pandas trong thao tác dữ liệu. Bằng cách sử dụng lập chỉ mục boolean, một phương pháp trong đó chúng tôi chuyển một loạt giá trị đúng/sai để lọc dữ liệu, chúng tôi có thể chọn các tập hợp con dữ liệu dựa trên các điều kiện khác nhau một cách hiệu quả, khiến nó trở thành một công cụ vô giá cho các nhà phân tích và nhà khoa học dữ liệu.

Lọc các hàng trong DataFrame dựa trên giá trị cột

Python - Sử dụng Pandas cho hoạt động DataFrame

import pandas as pd
# Create a sample DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
    'age': [24, 27, 22, 32, 29],
    'city': ['New York', 'Los Angeles', 'New York', 'Chicago', 'Los Angeles']
}
df = pd.DataFrame(data)

# Select rows where city is New York
ny_rows = df[df['city'] == 'New York']
print(ny_rows)

# Output:
#       name  age      city
# 0    Alice   24  New York
# 2  Charlie   22  New York

Truy vấn các hàng DataFrame dựa trên giá trị cột

Python - Lọc nâng cao với Pandas

import pandas as pd

# Create a sample DataFrame
data = {
    'product': ['A', 'B', 'C', 'D'],
    'price': [100, 150, 200, 250],
    'quantity': [30, 50, 20, 40]
}
df = pd.DataFrame(data)

# Select rows where price is greater than 150
expensive_products = df[df['price'] > 150]
print(expensive_products)

# Output:
#   product  price  quantity
# 2       C    200        20
# 3       D    250        40

Kỹ thuật nâng cao để chọn hàng DataFrame

Ngoài tính năng lọc cơ bản với lập chỉ mục boolean, Pandas còn cung cấp các kỹ thuật nâng cao hơn để chọn hàng dựa trên giá trị cột. Một phương pháp như vậy là cho phép bạn sử dụng cú pháp giống SQL để lọc các hàng DataFrame. Ví dụ, bạn có thể sử dụng để chọn các hàng có độ tuổi lớn hơn 25 và thành phố là New York. Phương pháp này có thể làm cho mã của bạn dễ đọc hơn, đặc biệt đối với các điều kiện phức tạp. Ngoài ra, Pandas còn cung cấp Và iloc[] các bộ truy cập để lựa chọn hàng chính xác hơn. Các Trình truy cập dựa trên nhãn, nghĩa là bạn có thể lọc các hàng theo nhãn của chúng hoặc theo mảng boolean. Ngược lại, trình truy cập dựa trên vị trí số nguyên, cho phép bạn lọc các hàng theo vị trí chỉ mục của chúng.

Một tính năng mạnh mẽ khác trong Pandas là khả năng lọc các hàng DataFrame bằng cách sử dụng phương pháp. Phương pháp này hữu ích khi bạn cầ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 trong đó giá trị cột thành phố là New York hoặc Los Angeles. Hơn nữa, bạn có thể xâu chuỗi nhiều điều kiện bằng cách sử dụng Và | toán tử để tạo ra các bộ lọc phức tạp hơn. Ví dụ, lọc các hàng có độ tuổi lớn hơn 25 và thành phố là New York. Những kỹ thuật nâng cao này cung cấp một khuôn khổ mạnh mẽ để lọc dữ liệu, biến Pandas trở thành một công cụ linh hoạt để phân tích và thao tác dữ liệu.

  1. Làm cách nào để lọc các hàng trong DataFrame dựa trên nhiều giá trị cột?
  2. Bạn có thể sử dụng lập chỉ mục boolean với nhiều điều kiện được kết hợp bằng cách sử dụng Và . Ví dụ: .
  3. Sự khác biệt giữa Và ?
  4. dựa trên nhãn, trong khi dựa trên vị trí số nguyên. Sử dụng để lọc theo nhãn và iloc[] để lọc theo vị trí chỉ mục.
  5. Làm cách nào tôi có thể sử dụng chức năng lọc các hàng DataFrame?
  6. Các cho phép bạn sử dụng cú pháp giống SQL. Ví dụ: .
  7. Tôi có thể lọc các hàng dựa trên danh sách giá trị không?
  8. Có, bạn có thể sử dụng phương pháp. Ví dụ: .
  9. Cách tốt nhất để lọc các hàng dựa trên kết hợp chuỗi là gì?
  10. Bạn có thể dùng phương pháp. Ví dụ: .
  11. Làm cách nào để chọn các hàng bị thiếu giá trị cột?
  12. Bạn có thể dùng phương pháp. Ví dụ: .
  13. Làm cách nào tôi có thể lọc các hàng bằng chức năng tùy chỉnh?
  14. Bạn có thể dùng phương thức có hàm lambda. Ví dụ: .
  15. Tôi có thể lọc các hàng dựa trên giá trị chỉ mục không?
  16. Có, bạn có thể sử dụng phương pháp. Ví dụ: .

Chọn các hàng từ DataFrame dựa trên các giá trị cột là một kỹ năng cơ bản trong phân tích dữ liệu với Pandas. Sử dụng lập chỉ mục boolean, , , , Và isin() phương pháp cho phép lọc dữ liệu hiệu quả. Nắm vững các kỹ thuật này sẽ nâng cao khả năng thao tác và phân tích tập dữ liệu một cách hiệu quả.