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

Python Pandas CategoricalIndex - Sắp xếp lại danh mục

Để sắp xếp các danh mục, hãy sử dụng CategoricalIndex reorder_categories () trong Pandas. Đầu tiên, hãy nhập các thư viện được yêu cầu -

import pandas as pd

CategoricalIndex chỉ có thể nhận một số giá trị giới hạn và thường cố định. Đặ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"])

Hiển thị CategoricalIndex -

print("CategoricalIndex...\n",catIndex)

Nhận các danh mục -

print("\nDisplayingCategories from CategoricalIndex...\n",catIndex.categories)

Sắp xếp lại các danh mục bằng cách sử dụng reorder_categories (). Đặt các danh mục theo thứ tự mới làm tham số -

print("\nCategoricalIndex after reordering categories...\n",catIndex.reorder_categories(["r", "s", "q", "p"]))

Ví dụ

Sau đây là mã -

import pandas as pd

# CategoricalIndex can only take on a limited,and usually fixed, number of possible values (categories
# 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("\nDisplayingCategories from CategoricalIndex...\n",catIndex.categories)

# Reorder categories using reorder_categories()
# Set the categories in new order as a parameter
print("\nCategoricalIndex after reordering categories...\n",catIndex.reorder_categories(["r", "s", "q", "p"]))

Đầ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')

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

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