我想知道如何从这样的多索引数据框架传递:
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