Để trả lại MultiIndex đã xóa nhiều cấp bằng tên cấp, hãy sử dụng MultiIndex.droplevel () và đặt nhiều cấp (tên cấp) sẽ bị xóa dưới dạng đối 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 = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]
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, names=('rank', 'student', 'points'))
Giảm một cấp cụ thể khỏi MultiIndex. Các cấp độ sẽ bị giảm xuống được đặt làm tên cấp độ trong tham số, tức là cấp độ tên 'học sinh' và 'thứ hạng' bị giảm xuống -
print("\nMulti-index after dropping two levels...\n",multiIndex.droplevel(['rank', 'student']))
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 = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]] # 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, names=('rank', 'student', 'points')) # display the MultiIndex print("The Multi-index...\n",multiIndex) # get the levels in MultiIndex print("\nThe levels in Multi-index...\n",multiIndex.levels) # Drop a specific level from MultiIndex # The levels to be dropped is set as the level names in parameter i.e. # level name 'student' and 'rank' gets dropped print("\nMulti-index after dropping two levels...\n",multiIndex.droplevel(['rank', 'student']))
Đầu ra
Điều này sẽ tạo ra kết quả sau -
The Multi-index... MultiIndex([(2, 'Peter', 50), (4, 'Chris', 30), (3, 'Andy', 40), (1, 'Jacob', 70)], names=['rank', 'student', 'points']) The levels in Multi-index... [[1, 2, 3, 4], ['Andy', 'Chris', 'Jacob', 'Peter'], [30, 40, 50, 70]] Multi-index after dropping two levels... Int64Index([50, 30, 40, 70], dtype='int64', name='points')