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

重复NumPy数组而不复制数据?

燕富
2023-03-14
问题内容

我想创建一个1D NumPy数组,该数组由另一个1D数组的1000个背对背重复组成,而无需将数据复制1000次。

可能吗?

如果有帮助,我打算将两个数组都视为不可变的。


问题答案:

你做不到 NumPy数组在每个维度上必须具有一致的步幅,而您的步幅在大多数情况下需要采用一种方式,但有时会向后跳。

您可以获得的最接近的结果是一个1000行的2D数组,其中的每一行都是您第一个数组的视图,或者是一个flatiterobject,其行为有点像一维数组。(flatiters支持迭代和索引编制,但是您无法查看它们;所有索引编制都会产生副本。)

设定:

import numpy as np
a = np.arange(10)

2D视图:

b = np.lib.stride_tricks.as_strided(a, (1000, a.size), (0, a.itemsize))

扁平对象

c = b.flat


 类似资料:
  • 问题内容: 如何删除二维数组的重复行? 答案应该如下: 如果有两行相同,那么我想删除一个“重复”行。 问题答案: 您可以使用。由于您需要唯一的行,因此我们需要将它们放入元组: _只是应用到_阵列会导致这样的: 打印出列表中的唯一元素 。因此,将它们放入元组会导致: 打印: 更新 在新版本中,您需要设置

  • 我有这个数据框 我想转换这种形式的Numpy数组: 我正在使用转换为_矩阵函数,并在它重塑(1,4)后使用,但它不起作用!!它给我的格式是:有什么建议吗?我需要把它转换成那种格式,这样我就可以应用“精确回忆曲线”功能。

  • 我得到以下输出: 当我尝试使用Res_fs1、Res_fs2、Res_ps1、Res_ps2创建numppy数组时 我得到这个错误消息说键错误,虽然键存在:

  • 我的df中有3列 如何将其转换为矩阵?我试过了 但这并没有给出一个矩阵

  • 我有一个样本的numpy数组,[0,0,2.5,-5.0,…]。在我的例子中,所有样本都是2.5的倍数。我想知道每个样本发生了多少次。或多或少像numpy.hist。在本例中,类似于:[-5.0,1],[0,2],[2.5,1],…]。