我有一个 pandas 数据框,如下所示:
0 1
0 2
2 3
1 4
我想要做的是:如果我得到 2 作为输入,我的代码应该在数据框中搜索 2,当找到时,它返回另一列的值。在上面的示例中,我的代码将返回 0 和 3。我知道我可以简单地查看每一行并检查是否有任何元素等于 2,但我想知道是否有单行代码可以解决这样的问题。
更新:没有一列是索引列。
Thanks
>>> df = pd.DataFrame({'A': [0, 0, 2, 1], 'B': [1,2,3,4]})
>>> df
A B
0 0 1
1 0 2
2 2 3
3 1 4
以下 pandas 语法相当于 SQLSELECT B FROM df WHERE A = 2
>>> df[df['A'] == 2]['B']
2 3
Name: B, dtype: int64
还有pandas.DataFrame.query
:
>>> df.query('A == 2')['B']
2 3
Name: B, dtype: int64
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)