Python 重新索引数据帧多索引
我有一个行和列多索引的数据框架,如下所示Python 重新索引数据帧多索引,python,pandas,dataframe,multi-index,Python,Pandas,Dataframe,Multi Index,我有一个行和列多索引的数据框架,如下所示 BLUB BLA A B C D sample 0 blub ... ... 1 blub ... 2 blub 3 blub 4 blub 0 blub 1 blub 2 blub ... ... 我想重新索引到这个 BLUB BLA
BLUB BLA
A B C D
sample
0 blub ... ...
1 blub ...
2 blub
3 blub
4 blub
0 blub
1 blub
2 blub
... ...
我想重新索引到这个
BLUB BLA
A B C D
sample
0 blub ... ...
1 blub ...
2 blub
3 blub
4 blub
5 blub
6 blub
7 blub
... ...
以不变的方式(复制数据帧,而不是就地更改)。如何实现这一点?因为
索引中的多索引
您可以通过和创建第一级多索引的默认索引:
或通过:
你能添加一些数据吗?因为很难理解复制数据帧,而不是就地更改它。你提到的第一种方法对我很有效。(我还没有尝试第二种方法。)
df = (df.reset_index(level=1)
.reset_index(drop=True)
.set_index('level_1', append=True)
.rename_axis(['sample', None]))
mux = pd.MultiIndex.from_arrays([np.arange(len(df)),
df.index.get_level_values(1)],
names=['sample', None])
df = df.set_index(mux)