我有一个数据框,我想在其中返回包含指定列中最大值的完整行。所以说我创建一个像这样的数据框:
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)
我知道这对这里的许多人来说将是一个简单的解决方案,但这让我很沮丧。谢谢你的帮助。
您要使用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)
| 归档时间: |
|
| 查看次数: |
2163 次 |
| 最近记录: |