【问题标题】:Re-arrange/combine dataframes in dictionaries重新排列/组合字典中的数据框
【发布时间】:2022-01-21 18:11:56
【问题描述】:

我有一个由两个数据框组成的字典

dict_keys(['on_folds', 'global'])

每个数据框由两个系列组成

results['global'].keys() = Index(['rMSE', 'Bias'])

每个系列都有浮动索引

results['global']['rMSE'].keys() = Index(['lasso_reg', 'lasso_class']),

我想通过将旧字典的项目组合到数据框中来构建一个新字典

dict_keys(['lasso_reg', 'lass_class'])

系列

results['lasso_reg'].keys() = Index(['rMSE', 'Bias'])

浮动

results['lasso_reg']['rMSE'].keys() = Index(['on_folds', 'global'])

这本质上是索引的切换。我不确定转置或梳理是否会做到这一点。我该怎么做?

更新:这里是字典内容的例子

我有以下字典

{'on_folds':     rMSE    95% CI      Bias        SD
 lasso_reg    1.690569  0.722917  3.257023  1.280235
 lasso_class  2.616418  0.662500  4.025593  1.863953
 xgb_class    6.899894  0.409375  9.261215  2.760382
 xgb_reg      5.436057  0.482292  8.004550  2.138652
 rf_reg       4.998613  0.659375  7.028649  2.291934
 rf_class     3.820162  0.659375  6.436152  1.651670

我想把它改成这样

{'lasso_reg':       rMSE    95% CI      Bias        SD
 on_folds       1.690569  0.722917  3.257023  1.280235
'lasso_class':      rMSE    95% CI      Bias        SD
 on_folds       1.690569  0.722917  3.257023  1.280235
etc.

【问题讨论】:

    标签: python dataframe dictionary


    【解决方案1】:

    我仍然不确定你的数据是什么样的,但试试这个:

    out = {}
    for k, df in dct.items():
        temp = df.loc[['lasso_reg','lass_class'],:]
        temp.index = [k, k]
        out.setdefault('lasso_reg', []).append(temp.iloc[0])
        out.setdefault('lass_class', []).append(temp.iloc[1])
        
    out = {k: pd.concat(v) for k,v in out.items()}
    

    【讨论】:

    • 成功了!谢谢!
    猜你喜欢
    • 2022-06-12
    • 2020-05-12
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 2020-11-03
    • 2013-02-19
    相关资源
    最近更新 更多