给定一个大小为numpy的数组n
和一个整数,m
我想生成m
该数组的所有顺序长度子序列,最好是二维数组。
例:
>>> subsequences(arange(10), 4)
array([[0, 1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6, 7],
[2, 3, 4, 5, 6, 7, 8],
[3, 4, 5, 6, 7, 8, 9]])
我能想到的最好方法是
def subsequences(arr, m):
n = arr.size
# Create array of indices, essentially solution for "arange" input
indices = cumsum(vstack((arange(n - m + 1), ones((m-1, n - m + 1), int))), 0)
return arr[indices]
我是否缺少更好的(最好是内置的)功能?
这是一种非常快速且内存有效的方法,仅是对原始数组的“查看”:
from numpy.lib.stride_tricks import as_strided
def subsequences(arr, m):
n = arr.size - m + 1
s = arr.itemsize
return as_strided(arr, shape=(m,n), strides=(s,s))
np.copy
如果需要写入此数组,则应先做一个步骤,否则,您将修改原始数组和“子序列”数组中的相应条目。
此处更多信息:https :
//stackoverflow.com/a/4924433/2379410
问题内容: 现在说我有一个numpy数组,定义为 现在,我想要一个包含缺失值的所有索引的列表,在这种情况下。 有什么办法可以做到吗? 问题答案: np.isnan与np.argwhere结合 输出:
问题内容: 给定一个PHP字符串数组,例如: 如何生成此数组元素的所有可能排列?即: 问题答案: function pc_permute($items, $perms = array()) { if (empty($items)) { echo join(‘ ‘, $perms) . “ “; } else { for ($i = count($items) - 1; $i >= 0; –$i)
我想获得表中所有的所有内部文本的数组。 以下工作 只是想知道在直接jQuery中是否有更好的方法(wo必须转换为数组,然后使用JS方法)
问题内容: 我试图在尝试对6参数函数进行任何复杂操作之前,遍历6参数函数的参数空间,以研究其数值行为,因此,我正在寻找一种有效的方法来执行此操作。 我的函数将6-dim numpy数组中给出的浮点值作为输入。我最初尝试做的是: 首先,我创建了一个函数,该函数接受2个数组并生成一个包含两个数组中值的所有组合的数组: 然后,我曾经将其应用于同一数组的m个副本: 最后,我这样评估我的功能: 这工作,但它
问题内容: 说我有一个序列,我想从中选择随机的子序列,每个序列都有长度,并存储在矩阵中。有没有比这更麻木的方式了 问题答案: 我们可以利用基础来有效地提取补丁,就像这样-
问题内容: 有没有办法一次获取NumPy数组中几个元素的索引? 例如 我想找到in中每个元素的索引,即:。 我发现我使用的解决方案有点冗长: 输出: 问题答案: 您可以使用和(或为此): 这对于您的示例数组很好用,但是通常返回的索引数组不遵循中的值顺序。这可能是个问题,具体取决于您下一步要做什么。 在这种情况下,更好的答案是一个@Jaime给出了这里,使用: 返回值在中出现的索引。例如: