Python 拼接多索引(.loc不工作)

Python 拼接多索引(.loc不工作),python,pandas,slice,multi-index,Python,Pandas,Slice,Multi Index,我在切片多索引时遇到问题。到目前为止,我已经尝试了好几种技术,但其中一种我没有成功。 我的数据帧由以下几行组成: 意味着 出[25]: 总DL-DM 小鼠基因型强度 455 cre s 15.114886 13.626841 16.602930 w 41.419970 33.916706 48.923234 554 wt s 19.348266 13.747603 24.948928 w 41.563015 37.336228 45.789802解决方案1:pd.indexlice 解决方案2

我在切片多索引时遇到问题。到目前为止,我已经尝试了好几种技术,但其中一种我没有成功。 我的数据帧由以下几行组成:

意味着
出[25]:
总DL-DM
小鼠基因型强度
455 cre s 15.114886 13.626841 16.602930
w 41.419970 33.916706 48.923234
554 wt s 19.348266 13.747603 24.948928
w 41.563015 37.336228 45.789802
解决方案1:
pd.indexlice
解决方案2:
swaplevel
loc
要使用
loc['cre']
'cre'
需要位于多索引的第一级。交换级别可以解决这个问题

df.swaplevel(0, 1).loc['cre']

                     Total         DL         DM
Mouse Intensity                                 
455   s          15.114886  13.626841  16.602930
      w          41.419970  33.916706  48.923234
解决方案3:
xs


时机


xs
似乎是最有效的。

对不起,你是在追求
的意思。loc[slice(none),slice('cre')]
?我也尝试过这个。给了我同样的错误。我不明白你为什么确定它存在?查看
df.index.get_level_值(1)
df.swaplevel(0, 1).loc['cre']

                     Total         DL         DM
Mouse Intensity                                 
455   s          15.114886  13.626841  16.602930
      w          41.419970  33.916706  48.923234
print df.xs('cre', level=1)

                     Total         DL         DM
Mouse Intensity                                 
455   s          15.114886  13.626841  16.602930
      w          41.419970  33.916706  48.923234
print df.xs('cre', level=1, drop_level=False)

                              Total         DL         DM
Mouse Genotype Intensity                                 
455   cre      s          15.114886  13.626841  16.602930
               w          41.419970  33.916706  48.923234