Pandas:从一个唯一的multiIndex数据框架创建不同的数据框架



我想知道如何从这样的多索引数据框架传递:

A            B
col1   col2  col1   col2
1       2      12     21
3       1       2      0

到两个分开的dfs。df_A:

col1   col2    
1       2      
3       1

df_B:

col1   col2
12     21
2      0

谢谢你的帮助

我认为这里最好使用DataFrame.xs进行一级选择:

print (df.xs('A', axis=1, level=0))
col1  col2
0     1     2
1     3     1

不建议这样做,但可以按组创建dataframe:

for i, g in df.groupby(level=0, axis=1):
globals()['df_' + str(i)] =  g.droplevel(level=0, axis=1)
print (df_A)
col1  col2
0     1     2
1     3     1

最好是创建DataFrame的字典:

d = {i:g.droplevel(level=0, axis=1)for i, g in df.groupby(level=0, axis=1)}
print (d['A'])
col1  col2
0     1     2
1     3     1

最新更新