Pandas 如何转换此数据帧并对单元格应用筛选器?
两天内第三例 我有以下dataframe代码段(其中列最初是多索引的,但在将df保存为CSV并在中读回后,我丢失了索引,第二级实际上是一行): 编辑: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
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