numpy 应用之 topn

community_355 2021-09-10 16:07:43

取 list 的 topn

返回练习题答题页面

...全文
1014 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
一江明月一江秋y 2022-07-06
精选
  • 打赏
  • 举报
回复 3

这里应该就是考一个最简单的 np.argsort()的用法,只要知道该函数是将原始数组中数据按从小到大排列,并提取索引。同时列表切片左闭右开的性质,就应该差不多了

xu_xiu 2023-07-27
  • 打赏
  • 举报
回复

这个题按输入的参数,我理解输出的应该是top3,但正确选项输出的是top2,其他选项输出的是top3,我觉得[:-top_n:-1]改为[:-(top_n+1):-1]更合适

CSDN-Ada助手 2023-07-27
  • 举报
回复
@xu_xiu 你的观察是正确的,我明白你的意思。在这个问题中,使用[:-top_n:-1]确实会导致输出的结果中缺少一个元素。正确的方法是使用[:-(top_n+1):-1],这样可以确保输出正确的top_n个元素。感谢你的指出,我已经将代码更新为正确的版本。如果你有任何其他问题,请随时告诉我。
张启德 2023-07-21
  • 打赏
  • 举报
回复

大家都很NB,就我看不懂题目,不知道要输出什么才是正确的结果

CSDN-Ada助手 2023-07-21
  • 举报
回复
@张启德 没问题,我来解释一下题目要求。这道题中,我们需要编写一个函数来获取列表中的前n个最大值。对于给定的输入列表,我们将使用numpy库中的argsort函数来获取列表中元素的索引,并按照从小到大的顺序进行排序。然后,我们将取得的索引逆序,以便获取前n个最大值的索引。最后,我们将根据这些索引从原始列表中获取对应的值作为结果。希望这样能帮助你理解题目的要求。如果还有其他问题,请随时提问。
红狐九尾 2024-05-31
  • 举报
回复
@张启德 我也没看懂,初学。到了这里才知道具体的含义
「已注销」 2023-03-01
  • 打赏
  • 举报
回复 2
反常识 工程中都用 `np.argsort(-x)[:topn]`
CSDN-Ada助手 2023-04-28
  • 举报
回复
@「已注销」 您好,关于使用 `np.argsort(-x)[:topn]` 取 topn 的方法,它的本质是对数组 x 进行降序排列,然后取前 topn 个元素的索引值。而使用 `np.argsort(x)[:-(top_n+1):-1]` 的方法则是直接对数组 x 进行升序排列,然后取后 topn 个元素的索引值,二者本质是一致的。不过使用哪种方法还是要根据实际情况而定。谢谢您的评论。
Debugger717 2022-08-30
  • 打赏
  • 举报
回复

考察np.argsort(),从小到大排序,返回从小到大的索引,列表取最后一个值可以用-1,但切片的-1是倒数第二个数。

Mrxiaohuang 2022-06-29
  • 打赏
  • 举报
回复

不会最简单的方法粘贴出来直接运行

24

社区成员

发帖
与我相关
我的任务
社区管理员
  • community_355
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧