Pandas 如何转换此数据帧并对单元格应用筛选器?

Pandas 如何转换此数据帧并对单元格应用筛选器?,pandas,dataframe,lambda,transpose,Pandas,Dataframe,Lambda,Transpose,两天内第三例 我有以下dataframe代码段(其中列最初是多索引的,但在将df保存为CSV并在中读回后,我丢失了索引,第二级实际上是一行): 编辑: model model_a model_a model_b model_b NaN b pvalue b pvalue predictor NaN NaN NaN

两天内第三例

我有以下dataframe代码段(其中列最初是多索引的,但在将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

我的用例是现在将预测值
ache
cough
转换为列,将索引列的顶层转换为行,这样,如果
pvalue
为则尝试使用
pd.IndexSlice
where

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

out=df.loc[:,pd.indexlice[:,'b']].where(df.loc[:,pd.indexlice[:,'pvalue'].values我收到一个错误
TypeError:unhable type:'slice'
…第二行和第三行中的空单元格可能存在问题?请参见上面的编辑。由于我的数据框的形状是
out[216]:(26,27)
,这可能是问题吗(我的代码片段是5x5)?看起来,当我将其保存到CSV并再次读取时,我丢失了Multi索引。我正在基于此适当地更新mu问题。我这样做了,现在只是在与一个应该是浮点的str作斗争:
test=df.T.set_index(0,append=1)。T
它起作用,但预测名称没有相应地进行转换。
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