python - 删除python numpy数组中与列的前n个值不对应的所有行
问题描述
我有以下包含 2 列的数组。我想确定第二列中的前 3 个最高值,并删除所有不包含前 3 个值的行。
array([[0, 3],
[1, 4],
[2, 5],
[3, 5],
[4, 2]])
输出:
array([[2, 5],
[3, 5],
[1, 4]])
解决方案
您可以使用 numpy argsort 并取最后 3 行
array_name[np.argsort(array_name, axis = 0)[:,1]][-3:]
推荐阅读
- node.js - Discord(JS)机器人未检测到存在更新
- java - 将一个类编译到不同的文件夹中
- influxdb - InfluxDB - 查询每个现有标签的最后一个值的 MAX
- python - optomax 数字液体传感器 - 树莓派的 python
- java - Remove every space EXCEPT leading spaces
- canvas - 当我有响应的画布宽度和高度时,html5画布的问题无法呈现矩形
- java - 在 SSL SOAP 请求期间: SSLHandshake.consume 忽略 com.sun.jndi.ldap.object.disableendpointidentification 的值
- java - 如果默认浏览器是边缘或使用 java 代码的 Chrome,如何限制浏览器的启动
- javascript - 添加组件以查看 React Native
- azure - Azure 混合连接管理器错误安装