给定特定索引和特定值,如何找到数据框的子集?

How to find the subset of a dataframe, given a specific index and a specific value?

我有一个巨大的数据框要处理。我很难弄清楚如何在给定特定索引的情况下获取数据框的子集,并且只应选择具有特定值的列。

我的objective可以说明如下:

data = {'A': [5,6,9,8,3,2,4,1],
        'B': [1,5,3,4,2,1,1,1],
        'C': [1,0,0,1,3,4,5,3],
        'D': [5,6,9,8,7,1,1,1]
        }

df = pd.DataFrame(data)
df

我想要一个 DataFrame 的子集,其中索引为 5,特定值为 1。

期望的输出:

  B D
------
5 1 1

我使用以下命令获取 index=5 值。

df.loc[df.index==5, df.columns]

我试图参考相关问题,但无法找到解决方案。请帮忙。

pd.DataFrame(data.loc[5, data.iloc[5,:]==1]).T
Out[]: 
   B  D
5  1  1