我有一个从3D数据构建的DataFrame,其格式为:
索引:A,B
列:1.a,1.b,2.a,2.b
我正在尝试将其解压缩为字典映射{A,B}到具有索引{1,2}和列{a,b}的DataFrames
输入示例:
aa = pandas.DataFrame({'1.a':[1,2], '1.b':[3,4], '2.a':[5,6], '2.b':[7,8], 'index':['A', 'B']}).set_index('index')
目标输出:
bb = {'A': pandas.DataFrame({'a':[1,5], 'b':[3,7], 'index':[1,2]}), 'B': pandas.DataFrame({'a':[2,6], 'b':[4,8], 'index':[1,2]}) }
有什么想法吗?
看起来您可以将列名称更改为MultiIndex并取消堆栈:
aa.columns = pd.MultiIndex.from_tuples([a.split('.') for a in aa.columns])
out = {k:v.unstack() for k,v in aa.iterrows()}
输出:
{'A': a b
1 1 3
2 5 7,
'B': a b
1 2 4
2 6 8}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句