有条件地选择pandas DataFrame中的数据

gau*_*ani 2 python min dataframe pandas

我的pandas DataFrame中有两列.

   A      B
0  1      5
1  2      3
2  3      2
3  4      0
4  5      1
Run Code Online (Sandbox Code Playgroud)

我需要A中的值,其中B的值最小.在上面的例子中,我的答案是4,因为最小B值是0.

任何人都可以帮助我吗?

Ale*_*ley 5

要查找B列中的最小值,您可以使用df.B.min().对于您的DataFrame,这将返回0.

要在DataFrame中的特定位置查找值,您可以使用loc:

>>> df.loc[(df.B == df.B.min()), 'A']
3    4
Name: A, dtype: int64
Run Code Online (Sandbox Code Playgroud)

所以在这里,loc选出列B等于其最小值(df.B == df.B.min())的所有行,并选择列A中的相应值.

此方法返回A中与B中的最小值对应的所有值.如果您只需要找到其中一个值,则更好的方法是使用idxmin@aus_lacy建议.