如果在熊猫中已知列(或索引),如何返回值的索引(或列)标签

时间:2019-05-12 16:11:49

标签: python python-3.x pandas

如果知道行和值,如何返回列的标签?

我有一个熊猫数据框,其行名为“ A”,“ B”,“ C”,而列名为“ X”,“ Y”,“ Z”。知道值在行中(例如A),我想返回Column。查看示例,当我知道行“ A”中的值为“ 1”时,我希望返回“ X”。如何实现?

data=[[1,2,3],[4,5,6],[7,8,9]]
d=pd.DataFrame(data, ["A", "B", "C"], ["X", "Y", "Z"])

   X  Y  Z
A  1  2  3
B  4  5  6
C  7  8  9

2 个答案:

答案 0 :(得分:2)

如果您知道1A中,请使用loc并获取结果索引

s = df.loc['A'].eq(1)
s[s].index

返回

Index(['X'], dtype='object')

如果您知道一行中只有一个值为1的单元格,请使用.item()

>>> s[s].index.item()
'X'

答案 1 :(得分:0)

您可以使用dot

d.eq(1).dot(d.columns).loc[lambda x : x!='']
A    X
dtype: object