Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách lọc hàng trong Pandas bằng biểu thức chính quy (regex)


Biểu thức chính quy (regex) là một chuỗi ký tự định nghĩa mẫu tìm kiếm. Để lọc hàng trong Pandas bằng regex, chúng ta có thể sử dụng phương thức str.match().

Các bước

  • Tạo dữ liệu bảng hai chiều, df.
  • In DataFrame đầu vào, df.
  • Khởi tạo biến regex cho biểu thức. Cung cấp giá trị chuỗi làm regex, ví dụ chuỗi 'J.*' sẽ lọc tất cả các mục bắt đầu bằng chữ 'J'.
  • Sử dụng df.column_name.str.match(regex) để lọc tất cả các mục trong cột đã cho theo regex cung cấp.

Ví dụ

import pandas as pd
df = pd.DataFrame(
    dict(
        name=['John', 'Jacob', 'Tom', 'Tim', 'Ally'],
        marks=[89, 23, 100, 56, 90],
        subjects=["Math", "Physics", "Chemistry", "Biology", "English"]
    )
)
print("Input DataFrame is:\n", df)
regex = 'J.*'
print("After applying ", regex, " DataFrame is:\n", df[df.name.str.match(regex)])
regex = 'A.*'
print("After applying ", regex, " DataFrame is:\n", df[df.name.str.match(regex)])

Kết quả

Input DataFrame is:
   name  marks subjects
0  John     89     Math
1 Jacob     23  Physics
2   Tom    100 Chemistry
3   Tim     56  Biology
4  Ally     90  English
After applying J.* DataFrame is:
   name  marks subjects
0  John     89     Math
1 Jacob     23  Physics
After applying A.* DataFrame is:
   name  marks subjects
4  Ally     90  English