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

Python Pandas CategoricalIndex - Đổi tên các danh mục với các danh mục mới giống như dict

Để đổi tên các danh mục bằng các danh mục mới giống như dict, hãy sử dụng CategoricalIndex rename_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. 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)

Đổi tên danh mục. Đặt các danh mục giống như chính tả mới sẽ thay thế các danh mục cũ

print("\nCategoricalIndex after renaming categories...\n",catIndex.rename_categories({'p': 5, 'q': 10, 'r': 15, 's': 20}))

Ví dụ

Sau đây là mã -

import pandas as pd

# CategoricalIndex can only take on a limited, and usually fixed, number of possible values
# 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)

# Rename categories
# Set the new dict-like categories that will replace the old categories
print("\nCategoricalIndex after renaming categories...\n",
catIndex.rename_categories({'p': 5, 'q': 10, 'r': 15, 's': 20}))

Đầ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 renaming categories...
CategoricalIndex([5, 10, 15, 20, 5, 10, 15, 20], categories=[5, 10, 15, 20], ordered=True, dtype='category')