如何转换此数据框并对单元格应用过滤器?

how do I transform this dataframe and apply a filter to the cells?

两天内第三例!

我有以下数据框片段(其中列最初是多索引的,但在将 df 保存为 CSV 并读回后我丢失了索引,第二级实际上是一行):

已编辑:

model     model_a       model_a         model_b         model_b
NaN       b             pvalue          b               pvalue
predictor NaN           NaN             NaN             NaN 
aches     0.6991801946  0.33372434223   0.3523114106    0.0359096002
cough     0.7164202952  0.00796337569   0.7405228672    0.0473180859

我的用例是现在将预测变量 achecough 转置为列,将索引列的顶层转置为行,这样如果 pvalue 是 <= 0.05,该单元格应为空,否则 b 的值应在该单元格中。我假设 pvalue 的计算将在 lambda 函数中进行,但我可能错了!

因此,所需的数据帧将是:

model      aches           cough            
model_a    NaN          0.7164202952
model_b    0.3523114106 0.7405228672    

老实说,我完全不知道该怎么做,更不用说如何开始了。如有任何帮助,我们将不胜感激。

尝试 pd.IndexSlicewhere

out = df.loc[:,pd.IndexSlice[:,'b']].where(df.loc[:,pd.IndexSlice[:,'pvalue']].values<0.05).T.reset_index(level=1,drop=True)
       aches     cough
ma       NaN  0.716420
mb  0.352311  0.740523