Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas - Lấy vị trí cho nhãn hoặc tuple nhãn trong MultiIndex

Để lấy vị trí cho một nhãn đơn lẻ hoặc một tuple các nhãn trong MultiIndex, chúng ta sử dụng phương thức MultiIndex.get_loc() trong Pandas.

Các bước thực hiện

1. Import thư viện

import pandas as pd

2. Tạo MultiIndex

multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('stuvwx')])

3. Hiển thị MultiIndex

print("MultiIndex:\n", multiIndex)

4. Lấy vị trí

Sử dụng get_loc('s') để tìm vị trí của nhãn 's':

print("\nCác vị trí trong MultiIndex:\n", multiIndex.get_loc('s'))

Ví dụ hoàn chỉnh

import pandas as pd

# Tạo MultiIndex
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('stuvwx')])

# Hiển thị MultiIndex
print("MultiIndex:\n", multiIndex)

# Hiển thị các cấp độ
print("\nCác cấp độ trong MultiIndex:\n", multiIndex.levels)

# Lấy vị trí cho nhãn 's'
print("\nCác vị trí trong MultiIndex:\n", multiIndex.get_loc('s'))

Kết quả đầu ra

MultiIndex:
MultiIndex([('p', 's'), ('q', 't'), ('r', 'u'), ('r', 'v'), ('s', 'w'), ('s', 'x')], )
Các cấp độ trong MultiIndex:
[['p', 'q', 'r', 's'], ['s', 't', 'u', 'v', 'w', 'x']]
Các vị trí trong MultiIndex:
slice(4, 6, None)

Giải thích kết quả

Kết quả slice(4, 6, None) cho thấy nhãn 's' xuất hiện ở các vị trí từ 4 đến 5 (0-indexed). Phương thức get_loc() trả về:

  • Integer nếu nhãn duy nhất
  • Slice nếu nhãn xuất hiện liên tiếp
  • Boolean mask nếu nhãn xuất hiện không liên tiếp
  • Tuple nếu truy vấn bằng tuple (nhãn chính xác cho mọi cấp độ)

Đây là phương thức linh hoạt nhất để truy vấn vị trí trong MultiIndex.