Mar*_*rkD 4 python multi-index dataframe pandas
我遇到了一个问题,即向多索引列 DataFrame 添加新列会导致新列附加到 DataFrame 的末尾。例如:
Group 1 | Group 2 | Group 1 | Group 2 |
------------------------------------------------------
Sub 1 | Sub 2 | Sub 1 | Sub 2 | New Sub | New Sub |
Run Code Online (Sandbox Code Playgroud)
而我想要的是:
Group 1 | Group 2 |
------------------------------------------------------
Sub 1 | Sub 2 | New Sub | Sub 1 | Sub 2 | New Sub |
Run Code Online (Sandbox Code Playgroud)
有没有办法重新分组/排序我的多重索引来做到这一点?注意 - 我不想按名称重新排序子组,因为新子组需要放在最后,并且按字母顺序可能无法正确排序。
我认为你需要reindex或reindex_axis按习惯list:
df1=pd.DataFrame(columns=pd.MultiIndex.from_product((('C','R', 'A'),(1,2))),
data=np.arange(6).reshape(1,-1))
df2=pd.DataFrame(columns=pd.MultiIndex.from_tuples((('C','3'),('R',5),('A',4))),
data=[[9,9,4]])
df=df1.join(df2)
print (df)
C R A C R A
1 2 1 2 1 2 3 5 4
0 0 1 2 3 4 5 9 9 4
df1 = df.reindex(columns = ['C','R','A'], level=0)
print (df1)
C R A
1 2 3 1 2 5 1 2 4
0 0 1 9 2 3 9 4 5 4
df1 = df.reindex_axis(['C','R','A'], level=0, axis=1)
print (df1)
C R A
1 2 3 1 2 5 1 2 4
0 0 1 9 2 3 9 4 5 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1432 次 |
| 最近记录: |