当前位置: 首页 > 面试题库 >

numpy:将每行的max更改为1,所有其他数字更改为0

左华灿
2023-03-14
问题内容

我正在尝试实现一个numpy函数,该函数将2D数组每一行的max替换为1,并将所有其他数字替换为零:

>>> a = np.array([[0, 1],
...               [2, 3],
...               [4, 5],
...               [6, 7],
...               [9, 8]])
>>> b = some_function(a)
>>> b
[[0. 1.]
 [0. 1.]
 [0. 1.]
 [0. 1.]
 [1. 0.]]

到目前为止我尝试过的

def some_function(x):
    a = np.zeros(x.shape)
    a[:,np.argmax(x, axis=1)] = 1
    return a

>>> b = some_function(a)
>>> b
[[1. 1.]
 [1. 1.]
 [1. 1.]
 [1. 1.]
 [1. 1.]]

问题答案:

方法1,调整您的方法:

>>> a = np.array([[0, 1], [2, 3], [4, 5], [6, 7], [9, 8]])
>>> b = np.zeros_like(a)
>>> b[np.arange(len(a)), a.argmax(1)] = 1
>>> b
array([[0, 1],
       [0, 1],
       [0, 1],
       [0, 1],
       [1, 0]])

[实际上,range可以正常工作;我arange出于习惯写信。]

方法2,使用max而不是argmax处理多个元素达到最大值的情况:

>>> a = np.array([[0, 1], [2, 2], [4, 3]])
>>> (a == a.max(axis=1)[:,None]).astype(int)
array([[0, 1],
       [1, 1],
       [1, 0]])


 类似资料:
  • 问题内容: 我在Java整数中有优先级队列: 当我打电话时,我得到了最小的元素。 问题:如何更改代码以获取最大元素? 问题答案: 这样吧: 在提供了一个将在元素进行排序在这种情况下,在该oposite为了自己的自然顺序。

  • 问题内容: 我正在开发容器,每次我想在终端或emacs中使用容器时,我都必须键入两次,因为docker使用它来与容器分离( )。 如何更改为emacs或终端设置中未使用的其他更方便的功能? 问题答案: Docker有一个配置文件,您可以使用以下命令更改分离绑定 在。 注意: 如果您正在运行docker,则使用带有配置文件的目录必须位于根目录的主目录(即)中。

  • 问题内容: 我从Python程序中的Web服务检索Unix时间戳。该时间戳是美国时区。为了将它与其他在法国本地化的对象一起插入MySQL数据库中,我想将此时间戳转换为法国时区。 我可以用数学函数来做到这一点,但是存在夏令时的问题。我更喜欢使用Python时间和日期特定的函数来处理这些概念。 您有提示吗,我迷失了Python文档? 问题答案: 过去,当我们从服务提供商处下载文件的时间戳具有与PST时

  • 问题内容: 我目前正在创建一个Node.js webscraper / proxy,但是在解析在源脚本部分中找到的相对Urls时遇到了麻烦,我发现REGEX可以解决问题。虽然不知道我将如何实现。 反正有什么我可以解决的吗? 另外,我愿意采取一种更简单的方法来执行此操作,因为我对其他代理如何解析网站感到困惑。我认为大多数只是赞美的网站抓取工具,可以读取网站的来源,将所有链接/表格中继回代理。 问题答

  • 问题内容: 我一直在尝试将画布的默认背景颜色从黑色更改为透明/其他任何颜色-但没有运气。 我的HTML: 我的CSS: 正如您在下面的在线示例中看到的那样,我在画布上附加了一些动画,因此不能仅执行不透明度:0; 在id上。 实时预览:http: //devsgs.com/preview/test/particle/ 任何想法如何覆盖默认黑色? 问题答案: 当我也开始使用three.js时,我遇到了

  • 问题内容: 我想做的是: 在我看来,该语句的语义首先是数据库将关闭,并为我确定全部中最大的价值是什么。然后,它将对该值加1,并将结果值分配给具有1、3、5、6和8 的行的列。似乎足够简单… 但是,当我尝试运行该查询时,MySQL对此kes之以鼻,说: 要获得我想要的结果,您必须使用什么秘诀? 问候,维克 问题答案: 尝试

  • 问题内容: 我的Python迷宫生成程序似乎有问题。我正在尝试随机创建一条在选择点处分支的路径,并随其进行存储点。当迷宫走到尽头时,它将测试最高值,而不是将其弹出并转到下一个,从而对访问的点进行排序,直到到达不是死角的位置。但是,当我尝试将项目追加到我用来保存我曾经去过的空间的列表时,发生了一些奇怪的事情,实际上我从未见过。这是代码,查看该代码的最佳方法是将其运行一段时间,直到完全运行为止。我还没

  • 问题内容: 我的数据库确实发生了一些奇怪的事情。我正在使用PHP将数据插入数据库中,并且在过去的两年中我一直在这样做,没有任何问题。当客户在我的网站上付款时,我会将交易中的所有数据存储在数据库中。每个交易都有一个唯一的“ transaction_id”。当我将付款信息插入数据库时​​,除“ transaction_id”外,所有信息均已正确插入。所有交易均被赋予“ 4294967295”的“ tr