相关疑难解决方法(0)

numpy.as_strided的结果是否取决于输入dtype?

结果会numpy.lib.stride_tricks.as_strided取决于NumPy数组的dtype吗?

这个问题来自于定义.strides,即

遍历数组时每个维度中的字节元组.

在这里使用我在其他问题中使用的以下功能.它需要1d或2d数组并创建长度重叠的窗口window.结果将比输入大一维.

def rwindows(a, window):
    if a.ndim == 1:
        a = a.reshape(-1, 1)
    shape = a.shape[0] - window + 1, window, a.shape[-1]
    strides = (a.strides[0],) + a.strides
    windows = np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides)
    return np.squeeze(windows)

# examples
# rwindows(np.arange(5), window=2)
# rwindows(np.arange(20).reshape((5,4)), window=2)
Run Code Online (Sandbox Code Playgroud)

由于进步的定义,因为,例如,的D类的其他等效的阵列float32,并float64会有不同的步伐,将这个不断炸掉我的rwindows功能上面?

我试过测试,但它一直是一种非详尽的方式,我正在寻找一个答案,(1)解释功能文档中的免责声明/警告是否与我在这里要求的内容有关,(2)解释为什么或为什么不具有不同的dtypes和strides的等效数组在上面会产生不同的结果.

python arrays numpy python-3.x

11
推荐指数
1
解决办法
335
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1

python-3.x ×1