熊猫数据框从指定列中选择具有最高值的整行

Ema*_*mac 2 python pandas

我有一个数据框,我想在其中返回包含指定列中最大值的完整行。所以说我创建一个像这样的数据框:

df = pd.DataFrame(np.random.randint(0,100,size=(25, 4)), columns=list('ABCD'))
Run Code Online (Sandbox Code Playgroud)

然后我会有一张这样的表(对不起,我无法形成合适的表,所以我只做了一个简短的表):

A    B    C    D
14   67   35   22
75   21   34   64
Run Code Online (Sandbox Code Playgroud)

假设它像这样持续25行。我想获取列C的前5个最大值并返回这些完整的行。

如果我做:

df['C'].nlargest()
Run Code Online (Sandbox Code Playgroud)

它返回这5个最大值,但是我希望它返回整行。

我以为下面的方法可以工作,但是它给我一个错误“ IndexError:索引超出范围”:

df[df['C'].nlargest()]
Run Code Online (Sandbox Code Playgroud)

我知道这对这里的许多人来说将是一个简单的解决方案,但这让我很沮丧。谢谢你的帮助。

Max*_*axU 5

您要使用columns参数:

In [53]: df.nlargest(5, columns=['C'])
Out[53]:
     A   B   C   D
17  43  91  95  32
18  13  36  81  56
7   61  90  76  85
16  68  21  73  68
14   3  64  71  59
Run Code Online (Sandbox Code Playgroud)