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

如何在numpy数组上执行条件数组算术?

章晋鹏
2023-03-14
问题内容

我试图更好地掌握numpy数组,所以我有一个关于它们的示例问题:

假设我有一个名为a的numpy数组。我想对进行操作,使其中的所有小于0的值递增,其余的保持不变。例如,如果我有:

a = np.array([1,2,3,-1,-2,-3])

我想返回:

([1,2,3,0,-1,-2])

最紧凑的语法是什么?

谢谢!


问题答案:
In [45]: a = np.array([1,2,3,-1,-2,-3])

In [46]: a[a<0]+=1

In [47]: a
Out[47]: array([ 1,  2,  3,  0, -1, -2])


 类似资料:
  • 提示:给定一个整数数组,如果该数组在2旁边包含2或在4旁边包含4,则返回true,但不能同时包含这两个。 我只使用了数组,没有使用列表方法,但我想这样做是为了练习。这是我所拥有的,数组。asList()让我有些悲伤。 更新:部分问题是使用int而不是整数。新代码:

  • 问题内容: 该问题旨在作为规范的重复目标 给定两个阵列和形状和代表的名单维坐标, 找到最快的方法是: 每个点和每个点之间的形状距离 每个点中所有点的最近邻居的索引和距离 这些指数,以及距离在每一个点的中距离每一点的在 鉴于以下几组限制: 仅使用 使用任何包装 包括特殊情况: 是 在所有情况下,距离主要是指欧几里得距离,但是请随意强调允许其他距离计算的方法。 问题答案: 仅使用 天真的方法是: 但是

  • 问题内容: 我在创建numpy数组的numpy数组时遇到问题。我将在一个循环中创建它: 所需结果: 实际结果: 可能吗?我不知道数组的最终尺寸,因此无法使用固定尺寸对其进行初始化。 问题答案: 永远不要在循环中追加数组:与基本的Python相比,这是NumPy非常不擅长的一项操作。这是因为您要对每个数据进行完整复制,这将花费您二次时间。 相反,只需将您的数组附加到Python列表中,并在最后进行转

  • 问题内容: 我有一个形状为(x,y)的2d数组,我想将其转换为形状为(x,y,1)的3d数组。有没有很好的Pythonic方式可以做到这一点? 问题答案: 除了其他答案,您还可以将切片与结合使用: 甚至这个(可以在任意数量的尺寸下使用):

  • 问题内容: 因此,我没有讲一个很长的故事,而是在编写一些代码,即从二进制文件中读取一些数据,然后使用for循环遍历每个点。因此,我完成了代码,运行速度非常慢。我从约128个数据通道中遍历了约60,000个点,这需要一分钟或更长时间来处理。这比我预期的Python运行速度要慢得多。因此,我通过使用Numpy使整个事情变得更加高效,但是在试图弄清为什么原始进程运行如此缓慢的过程中,我们进行了一些类型检

  • 问题内容: 假设我有; 我尝试转换; 我现在正在vstack上通过迭代来解决它,但是对于特别大的LIST来说确实很慢 您对最佳有效方法有何建议? 问题答案: 通常,您可以沿任意轴连接整个数组序列: 但你 也 必须对列表中的形状和每个阵列的维度担心(用于2维3x5的输出,你需要确保它们都是2维正由-5阵列的话)。如果要将一维数组连接为二维输出的行,则需要扩展其维数。 正如Jorge的答案所指出的那样