如何从给定特定元素的数据框中获取特定列键?

时间:2018-01-18 14:08:37

标签: python pandas dataframe

考虑数据框

   c1   c2   c3  
0 a 3    4    2  
1 b 1    2    7  

说我想知道第1行中的哪一列有元素7.我将如何实现它? 我正在尝试使用熊猫来实现它。

2 个答案:

答案 0 :(得分:1)

如果想要在索引为1的行中获取第一个值的列:

a = df.loc[1].eq(7).idxmax()
print (a)
c3

说明:

首先选择索引为loc的列:

print (df.loc[1])
c1    4
c2    2
c3    7
Name: (1, b), dtype: int64

7比较:

print (df.loc[1].eq(7))
c1    False
c2    False
c3     True
Name: (1, b), dtype: bool

并且c3获取最大值的索引,这意味着首先True

如果行包含多个值(此处为7)并且需要所有匹配的列,请使用several other reported issues related to Chrome SpeechSynthesis

a = df.loc[1].eq(7)
a = a.index[a].tolist()

答案 1 :(得分:1)

不确定您正在寻找什么输出,但我相信这会有所帮助。我从创建数据框开始。

df = pd.DataFrame({'c1':['3', '1'],
                   'c2':['4', '2'],
                   'c3':['2', '7']})

以下代码如下所示:给我所有记录,其中列为' c3'等于7。

df = df[df['c3'] == '7']

输出:

enter image description here