Để lấy giá trị từ một cấp độ (level) cụ thể trong MultiIndex, sử dụng phương thức multiIndex.get_level_values() trong Pandas.
Các bước thực hiện
- Import thư viện:
import pandas as pd - Tạo MultiIndex từ các mảng con với tham số
namesđặt tên cho các cấp độ. - Gọi
get_level_values(0)cho cấp độ 0,get_level_values(1)cho cấp độ 1, v.v.
Ví dụ hoàn chỉnh
import pandas as pd
# Tạo MultiIndex từ các mảng, đặt tên cấp độ a, b, c, d
multiIndex = pd.MultiIndex.from_arrays(
[[5, 10], [15, 20], [25, 30], [35, 40]],
names=['a', 'b', 'c', 'd']
)
print("Multi-index...\n", multiIndex)
# Lấy giá trị cấp độ 0 (a)
print("\nGet level value (0th level)...\n", multiIndex.get_level_values(0))
# Lấy giá trị cấp độ 1 (b)
print("\nGet level value (1st level)...\n", multiIndex.get_level_values(1))
# Thêm: bỏ một cấp độ khỏi MultiIndex
print("\nDropping a level...\n", multiIndex.droplevel())
Kết quả
Multi-index...
MultiIndex([( 5, 15, 25, 35), (10, 20, 30, 40)], names=['a', 'b', 'c', 'd'])
Get level value (0th level)...
Int64Index([5, 10], dtype='int64', name='a')
Get level value (1st level)...
Int64Index([15, 20], dtype='int64', name='b')
Dropping a level...
MultiIndex([(15, 25, 35), (20, 30, 40)], names=['b', 'c', 'd'])
Giải thích: get_level_values(level) trả về một Index chứa tất cả giá trị tại cấp độ level của MultiIndex, giữ nguyên thứ tự.