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

numpy:将每行除以一个向量元素

呼延才俊
2023-03-14
问题内容

假设我有一个numpy数组:

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

我有一个对应的“向量”:

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

我如何data沿每一行进行减法或除法运算,所以结果是:

sub_result = [[0,0,0], [0,0,0], [0,0,0]]
div_result = [[1,1,1], [1,1,1], [1,1,1]]

长话短说:如何使用对应于每一行的1D标量数组在2D数组的每一行上执行操作?


问题答案:

干得好。您只需要与广播结合使用None(或np.newaxis):

In [6]: data - vector[:,None]
Out[6]:
array([[0, 0, 0],
       [0, 0, 0],
       [0, 0, 0]])

In [7]: data / vector[:,None]
Out[7]:
array([[1, 1, 1],
       [1, 1, 1],
       [1, 1, 1]])


 类似资料:
  • 问题内容: 我有一个具有维度(不包括索引)的DataFrame(df1),我想要为该行将每个行除以另一个具有维度的DataFrame(df2)。两者具有相同的列标题。我试过了: 以及 其他多个解决方案,我总是在每个单元格中获得包含值的df 。我在函数中缺少什么参数? 问题答案: 在中,您需要提供df2(例如)的轴/行。 或者你可以使用

  • 问题内容: 所以我有一个 矩阵和一个 向量。我正在尝试编写代码以向量减去矩阵中的每一行。 我目前有一个 循环遍历该循环,并 通过向量减去矩阵中的-th行。 有没有一种方法可以通过向量简单地减去整个矩阵? 谢谢! 当前代码: 这是 矩阵的 第-行, 是向量。我可以这样做,这样就不需要 循环了吗? 问题答案: 在作品,但 只有当轴的联动轴具有相同的尺寸 。这是从矩阵成功减去向量的示例: 之所以可行,是

  • 问题内容: 假设我有一个形状为(1,256)的行向量。我想将其转换为形状为(256,1)的列向量。您在Numpy中会如何做? 问题答案: 您可以使用 转置 操作来执行此操作: 例: 请注意,原始数组仍将保持不变。转置操作只会复制并转置它。 如果输入阵列是相当1D中,则可以 促进 通过引入新的(singleton)的轴作为所述第二尺寸数组的列向量。下面是一个示例: 对于一维情况,还有另一个选择是使用

  • 问题内容: 我有一个带有整数值的NumPy数组。矩阵的值的范围是从0到矩阵中的最大元素(换句话说,其中显示的所有数字是从0到最大数据元素)。我需要建立有效的( 有效的手段是快速的完全矢量化解决方案 )来搜索每一行中的元素数量,并根据矩阵值对它们进行编码。 我找不到类似的问题,或者以某种方式帮助解决了这个问题。 所以如果我在输入中有这个: 所需的输出是: 我知道如何解决这个问题,方法是简单地逐一 迭

  • 我有一个数据帧,其中前3列是最后一列的标记名称,这是一个矩阵列表。每个矩阵都是二进制的(只有1和0)。我想从每一行中提取一个标记名称,并用该标记名称替换行矩阵中1的所有值,但是我想避免使用循环,以便我可以并行地对所有行执行此操作。 示例数据框: 目标格式如下所示。。。 我尝试过使用方法,但没有成功,因为结果输出是列表格式的,而不是获得df1的原始结构。有什么想法吗?

  • 问题内容: 我只想将一个列表中的每个元素除以一个int。 这是错误: 我了解为什么收到此错误。但是我为找不到解决方案感到沮丧。 还尝试了: 错误: 预期结果: 编辑: 以下代码给了我预期的结果: 但是,有没有更容易/更快的方法来做到这一点? 问题答案: 惯用的方式是使用列表理解: 或者,如果您需要保留对原始列表的引用: