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

Python Pandas - Nhận vị trí và chỉ mục cắt cho nhãn / cấp được yêu cầu nhưng không giảm cấp

Để nhận vị trí và chỉ mục phân loại cho nhãn / cấp được yêu cầu trong MultiIndex, hãy sử dụng get_loc_level () trong Pandas. Sử dụng drop_level và đặt nó thành False để tránh giảm cấp độ.

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

 nhập gấu trúc dưới dạng 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 -

 multiIndex =pd.MultiIndex.from_arrays ([list ('pqrrss'), list ('strvwx')], names =['One', 'Two']) 

Hiển thị MultiIndex -

 print ("MultiIndex ... \ n", multiIndex) 

Nhận vị trí và chỉ số cắt lát. Để tránh giảm cấp, chúng tôi đã sử dụng thông số "drop_level" với giá trị "False" -

 print ("\ nNhận vị trí và chỉ mục đã cắt (tránh giảm cấp) ... \ n", multiIndex.get_loc_level ('r', drop_level =False)) 

Ví dụ

Sau đây là mã -

 nhập gấu trúc dưới dạng pd # MultiIndex là đối tượng chỉ mục đa cấp hoặc phân cấp cho gấu trúc đối tượngmultiIndex =pd.MultiIndex.from_arrays ([list ('pqrrss'), list ('strvwx')], names =[' Một ',' Hai ']) # hiển thị MultiIndexprint ("MultiIndex ... \ n", multiIndex) # lấy các cấp trong MultiIndexprint ("\ nCác cấp trong MultiIndex ... \ n", multiIndex.levels) # Lấy vị trí và chỉ mục cắt lát # Để tránh giảm cấp độ, chúng tôi đã sử dụng thông số "drop_level" với giá trị "False" print ("\ nNhận vị trí và chỉ mục cắt lát (tránh giảm cấp độ) ... \ n", multiIndex .get_loc_level ('r', drop_level =False)) 

Đầu ra

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

 MultiIndex ... MultiIndex ([('p', 's'), ('q', 't'), ('r', 'r'), ('r', 'v') , ('s', 'w'), ('s', 'x')], names =['Một', 'Hai']) Các mức trong MultiIndex ... [['p', 'q' , 'r', 's'], ['r', 's', 't', 'v', 'w', 'x']] Lấy vị trí và chỉ mục cắt (tránh giảm cấp độ) .. . (Slice (2, 4, None), MultiIndex ([('r', 'r'), ('r', 'v')], names =['One', 'Two']))