Có cách nào ngắn hơn để giảm mức MultiIndex cột (trong trường hợp của tôi là basic_amt
) ngoại trừ việc chuyển nó hai lần?Đặt lại một cột Các mức MultiIndex
In [704]: test
Out[704]:
basic_amt
Faculty NSW QLD VIC All
All 1 1 2 4
Full Time 0 1 0 1
Part Time 1 0 2 3
In [705]: test.reset_index(level=0, drop=True)
Out[705]:
basic_amt
Faculty NSW QLD VIC All
0 1 1 2 4
1 0 1 0 1
2 1 0 2 3
In [711]: test.transpose().reset_index(level=0, drop=True).transpose()
Out[711]:
Faculty NSW QLD VIC All
All 1 1 2 4
Full Time 0 1 0 1
Part Time 1 0 2 3
Cũng cần lưu ý: Nếu bạn đã làm phẳng nhiều chỉ mục bằng cách sử dụng dấu '_' làm dấu phân cách và muốn tạo lại nó, bạn có thể thực hiện 'my_tuples = [i.split (" _ ") cho i trong df.columns]' và sau đó là 'pd.MultiIndex.from_tuples (my_tuples)' – RobinL