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

逐行插入2D Numpy数组的值

宗鸿博
2023-03-14
问题内容

我有两个numpy数组:

x = np.array([1,2,3,4,5])
y = np.array([10,20,30,40,50])

我试图得到的是这样的:

array([[  1.  ,   3.25,   5.5 ,   7.75,  10.  ],
       [  2.  ,   6.5 ,  11.  ,  15.5 ,  20.  ],
       [  3.  ,   9.75,  16.5 ,  23.25,  30.  ],
       [  4.  ,  13.  ,  22.  ,  31.  ,  40.  ],
       [  5.  ,  16.25,  27.5 ,  38.75,  50.  ]])

我的方法不是很像Numpy,需要针对非常大的数组进行改进(摆脱for循环):

myarray = np.zeros((5,5))
for idx in np.arange(5):
    myarray[idx,:] = np.linspace(x[idx], y[idx], 5)

在Numpy中执行此操作的最佳方法是什么?这样生成myarray然后对其进行操作会更好吗?

myarray = np.zeros((5,5))
myarray[:,0] = x
myarray[:,-1] = y

array([[  1.,   0.,   0.,   0.,  10.],
       [  2.,   0.,   0.,   0.,  20.],
       [  3.,   0.,   0.,   0.,  30.],
       [  4.,   0.,   0.,   0.,  40.],
       [  5.,   0.,   0.,   0.,  50.]])

问题答案:

这种广播技巧:

>>> x = np.array([1,2,3,4,5])
>>> y = np.array([10,20,30,40,50])
>>> z = np.linspace(0, 1, 5)
>>> z[None, ...] * (y[..., None] - x[..., None]) + ( x[..., None])
array([[  1.  ,   3.25,   5.5 ,   7.75,  10.  ],
       [  2.  ,   6.5 ,  11.  ,  15.5 ,  20.  ],
       [  3.  ,   9.75,  16.5 ,  23.25,  30.  ],
       [  4.  ,  13.  ,  22.  ,  31.  ,  40.  ],
       [  5.  ,  16.25,  27.5 ,  38.75,  50.  ]])
>>>


 类似资料:
  • 所以我有一个选择题列表,我想存储,每次用户回答相同的问题,他对这个问题的答案。所以我想创建一个文档每个用户和他的回答历史每个问题。我做了一个问题数组,其中包含了questionId和一个答案数组(“ans”和他的答案。所以我写了一个基本代码,在这里我为问题1添加了他的第一个答案“a”,现在我想用答案“b”更新这个文档。 我知道这是一个非常基本的问题,但我已经搜索了其他问题,但我无法得到语法工作。我

  • 问题内容: 我有通过http请求访问的数据,并由服务器以逗号分隔的格式发送回了数据,我有以下代码: 文本内容如下: 如何将这些数据保存到CSV文件中。我知道我可以按照以下步骤做一些事情,逐行进行迭代: 但是我不确定现在如何正确地将每一行写入CSV 编辑—>感谢您提供的反馈意见,该解决方案非常简单,可以在下面看到。 解: 问题答案: 一般方式: 要么 使用CSV编写器: 要么 最简单的方法:

  • 本文向大家介绍php逐行读取txt文件写入数组的方法 原创,包括了php逐行读取txt文件写入数组的方法 原创的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php逐行读取txt文件写入数组的方法。分享给大家供大家参考。具体如下: 假设有user.txt文件如下: 逐行读取user.txt并写入数组的方法如下: 问题搞定! 希望本文所述对大家的php程序设计有所帮助。

  • 问题内容: 我正在使用插入命令通过PHP将大型数据集传递到MySQL表中,并且我想知道是否有可能通过查询而不是将每个值附加到一英里长的字符串的末尾一次插入大约1000行,然后执行它。我正在使用CodeIgniter框架,因此我也可以使用它的功能。 问题答案: 在MySQL中,用多行汇编一条语句要比每行一条语句快得多。 也就是说,听起来您可能会遇到PHP中的字符串处理问题,这实际上是算法问题,而不是

  • 这只是出于好奇,而我当时正在练习数组插入以图好玩。下面的代码中有一个问题,为什么给我一些垃圾值,但将其设置为就解决了这个问题。逻辑上他们也是这样做的,但我只是想知道它是否与L值和R值引用有关?

  • 问题内容: 我找不到用Clojure插入Postgres数组类型的方法。 没按我预期的那样工作。错误信息: 即使是我能找到的对SQL的最直接访问也不起作用: 真的不知道这是怎么回事: 当然一定有可能吗?如果不是通过辅助函数,则通过某种方式执行原始SQL。 问题答案: 使用 插入! 要插入字符串向量,您必须(从字符串向量中)创建一个实现java.sql.Array的对象。您可以使用java.sql.