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

Python Pandas - Lấy tuple độ dài các cấp độ từ MultiIndex

Để lấy tuple chứa độ dài của từng cấp độ trong MultiIndex, chúng ta sử dụng thuộc tính MultiIndex.levshape.

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

1. Import thư viện

import pandas as pd

2. Tạo MultiIndex

arrays = [[1, 2, 3, 4, 5], ['John', 'Tim', 'Jacob', 'Chris', 'Keiron']]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))

3. Lấy tuple độ dài cấp độ

print("\nTuple độ dài các cấp độ:\n", multiIndex.levshape)

Ví dụ hoàn chỉnh

import pandas as pd

arrays = [[1, 2, 3, 4, 5], ['John', 'Tim', 'Jacob', 'Chris', 'Keiron']]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))

print("MultiIndex:\n", multiIndex)
print("\nSố cấp độ (nlevels):\n", multiIndex.nlevels)
print("\nCác cấp độ (levels):\n", multiIndex.levels)
print("\nTuple độ dài cấp độ (levshape):\n", multiIndex.levshape)

Kết quả đầu ra

MultiIndex:
MultiIndex([(1, 'John'), (2, 'Tim'), (3, 'Jacob'), (4, 'Chris'), (5, 'Keiron')], names=['ranks', 'student'])
Số cấp độ (nlevels):
2
Các cấp độ (levels):
[[1, 2, 3, 4, 5], ['Chris', 'Jacob', 'John', 'Keiron', 'Tim']]
Tuple độ dài cấp độ (levshape):
(5, 5)

Giải thích

  • levshape trả về tuple (len(level_0), len(level_1), ...).
  • Ví dụ: (5, 5) nghĩa là cấp độ 0 có 5 giá trị duy nhất, cấp độ 1 có 5 giá trị duy nhất.
  • Khác với shape của MultiIndex (số hàng, số cấp độ): (5, 2).

Các thuộc tính liên quan

Thuộc tínhMô tảVí dụ
nlevelsSố lượng cấp độ2
levelsDanh sách Index của mỗi cấp độ[[1,2,3,4,5], ['Chris',...]]
levshapeTuple độ dài từng cấp độ(5, 5)
codesVị trí của mỗi giá trị trong levels[[0,1,2,3,4], [2,4,1,0,3]]