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

Python Pandas - Tạo DataFrame với các cấp của MultiIndex dưới dạng cột và tên cấp chỉ mục thay thế

Để tạo DataFrame với các cấp của MultiIndex dưới dạng cột, hãy sử dụng MultiIndex.to_frame () phương pháp. Thay thế tên cấp chỉ mục bằng cách sử dụng tên tham số.

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

Tạo DataFrame với các cấp của MultiIndex dưới dạng cột bằng cách sử dụng to_frame (). Sử dụng tham số "name" và chuyển các tên để thay thế các tên cấp chỉ mục -

dataFrame = multiIndex.to_frame(name=['One', 'Two'])

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)

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

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

# Create a DataFrame with the levels of the MultiIndex as columns using to_frame()
# Use the "name" parameter and pass the names to substitute index level names
dataFrame = multiIndex.to_frame(name=['One', 'Two'])

# Display the DataFrame
print("\nThe DataFrame...\n",dataFrame)

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

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

The DataFrame...
        One   Two
1  John  1   John
2  Tim   2    Tim
3  Jacob 3  Jacob
4  Chris 4  Chris