我正在寻找一种找到具有索引号和值的列名的方法。
original = {'col1': [1, 2,0,9], 'col2': [3, 4, 2,5]}
original = pd.DataFrame(data=original)
col1 col2
0 1 3
1 2 4
2 0 2
3 9 5
例如,我想找到列中记录2的位置。 我只知道索引号1和值2,但不知道列名是什么。
我希望返回唯一的列名col1。
答案 0 :(得分:1)
使用loc
选择行,然后使用idxmax
选择列:
(original.loc[1] == 2).idxmax()
# 'col1'
如果“ 1”是整数位置而不是索引标签,请使用iloc
进行行选择:
(original.loc[1] == 2).idxmax()
# 'col1'
答案 1 :(得分:0)
此解决方案使用numpy.argwhere:
original.columns[np.argwhere(original.iloc[1,:] == 2)[0][0]]