Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas - Xóa các danh mục được chỉ định khỏi CategoricalIndex

Để xóa các danh mục được chỉ định khỏi CategoricalIndex, hãy sử dụng remove_categories () trong Pandas.

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import pandas as pd

Đặt danh mục cho danh mục bằng cách sử dụng tham số "danh mục". Xử lý phân loại theo thứ tự bằng cách sử dụng tham số "đã sắp xếp" -

catIndex = pd.CategoricalIndex(["p", "q", "r", "s","p", "q", "r", "s"], ordered=True, categories=["p", "q", "r", "s"])

Xóa danh mục bằng remove_categories (). Đặt các danh mục cần xóa dưới dạng tham số. Các giá trị nằm trong các danh mục đã loại bỏ sẽ được đặt thành NaN -

print("\nCategoricalIndex after removing specified categories...\n",
catIndex.remove_categories(["p", "q"]))

Ví dụ

Sau đây là mã -

import pandas as pd

# Set the categories for the categorical using the "categories" parameter
# Treat the categorical as ordered using the "ordered" parameter
catIndex = pd.CategoricalIndex(["p", "q", "r", "s","p", "q", "r", "s"], ordered=True, categories=["p", "q", "r", "s"])

# Display the CategoricalIndex
print("CategoricalIndex...\n",catIndex)

# Get the categories
print("\nDisplaying Categories from CategoricalIndex...\n",catIndex.categories)

# Remove categories using remove_categories()
# Set the categories to be removed as a parameter
# Values which were in the removed categories will be set to NaN
print("\nCategoricalIndex after removing specified categories...\n",
catIndex.remove_categories(["p", "q"]))

Đầu ra

Điều này sẽ tạo ra kết quả sau -

CategoricalIndex...
CategoricalIndex(['p', 'q', 'r', 's', 'p', 'q', 'r', 's'], categories=['p', 'q', 'r', 's'], ordered=True, dtype='category')

Displaying Categories from CategoricalIndex...
Index(['p', 'q', 'r', 's'], dtype='object')

CategoricalIndex after removing specified categories...
CategoricalIndex([nan, nan, 'r', 's', nan, nan, 'r', 's'], categories=['r', 's'], ordered=True, dtype='category')