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

Python – Tạo tập con cột bằng filter()

Để tạo tập con các cột, ta có thể dùng filter(). Phương thức này cho phép lọc các cột có tên theo mẫu giống nhau bằng toán tử like. Trước tiên, tạo DataFrame 3 cột:

dataFrame = pd.DataFrame({
    "Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
    "Opening_Stock": [300, 700, 1200, 1500],
    "Closing_Stock": [200, 500, 1000, 900]
})

Tạo tập con cột

Chọn một cột đơn lẻ

dataFrame[['Product']]

Chọn nhiều cột cụ thể

dataFrame[['Opening_Stock', 'Closing_Stock']]

Lọc cột theo tên tương tự (pattern)

dataFrame.filter(like='Open')

Ví dụ hoàn chỉnh

import pandas as pd

dataFrame = pd.DataFrame({
    "Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
    "Opening_Stock": [300, 700, 1200, 1500],
    "Closing_Stock": [200, 500, 1000, 900]
})

print("DataFrame...\n", dataFrame)
print("\nTập con dùng chỉ mục:\n", dataFrame[['Product']])
print("\nTập con nhiều cột:\n", dataFrame[['Opening_Stock', 'Closing_Stock']])
print("\nTập con theo tên tương tự:\n", dataFrame.filter(like='Open'))

Kết quả đầu ra

DataFrame...
  Closing_Stock  Opening_Stock    Product
0           200            300    SmartTV
1           500            700  ChromeCast
2          1000           1200    Speaker
3           900           1500   Earphone

Tập con dùng chỉ mục:
     Product
0    SmartTV
1  ChromeCast
2    Speaker
3   Earphone

Tập con nhiều cột:
   Opening_Stock  Closing_Stock
0            300            200
1            700            500
2           1200           1000
3           1500            900

Tập con theo tên tương tự:
   Opening_Stock
0            300
1            700
2           1200
3           1500

Lưu ý: filter(like='Open') trả về tất cả cột có chứa chuỗi 'Open' trong tên. Cũng có thể dùng regex cho mẫu phức tạp hơn.