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

Python Pandas - Chỉ đặt một cấp cụ thể mới bằng cách sử dụng tên cấp trong MultiIndex

Để chỉ đặt một cấp cụ thể mới bằng cách sử dụng tên cấp trong MultiIndex, hãy sử dụng MultiIndex.set_levels () phương pháp. Mức tham số được sử dụng để đặt tên mức.

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

import pandas as pd

MultiIndex là một đối tượng chỉ mục đa cấp hoặc phân cấp cho các đối tượng gấu trúc. Tạo mảng -

arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]

Tham số "tên" đặt tên cho mỗi cấp chỉ mục. From_arrays () được sử dụng để tạo MultiIndex -

multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))

Đặt mức trong MultiIndex. Chúng tôi đã đặt một cấp cụ thể mới bằng cách sử dụng tên cấp trong thông số "cấp" -

print("\nSet a new level in Multi-index...\n",multiIndex.set_levels(['Emma', 'Angelina', 'Scarlett', 'Jeni'], level = 'student'))

Ví dụ

Sau đây là mã -

import pandas as pd

# MultiIndex is a multi-level, or hierarchical, index object for pandas objects
# Create arrays
arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]

# The "names" parameter sets the names for each of the index levels
# The from_arrays() is used to create a MultiIndex
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))

# display the MultiIndex
print("The Multi-index...\n",multiIndex)

# get the levels in MultiIndex
print("\nThe levels in Multi-index...\n",multiIndex.levels)

# set the level in MultiIndex
# We have set a new single specific level using the level name in the "level" parameter
print("\nSet a new level in Multi-index...\n",multiIndex.set_levels(['Emma', 'Angelina', 'Scarlett', 'Jeni'], level = 'student'))

Đầu ra

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

The Multi-index...
MultiIndex([(1, 'John'),
            (2, 'Tim'),
            (3, 'Jacob'),
            (4, 'Chris')],
            names=['ranks', 'student'])

The levels in Multi-index...
   [[1, 2, 3, 4], ['Chris', 'Jacob', 'John', 'Tim']]

Set a new level in Multi-index...
MultiIndex([(1, 'Scarlett'),
            (2,     'Jeni'),
            (3, 'Angelina'),
            (4,     'Emma')],
            names=['ranks', 'student'])