【发布时间】:2021-02-08 10:00:34
【问题描述】:
我有一个 500 行 1024 列的矩阵 A。我想生成一个由 A 中均匀间隔的列组成的矩阵,比如步长为 2^5。我如何在 Numpy 中执行此操作?我没有在我的参考资料中看到这一点。
【问题讨论】:
我有一个 500 行 1024 列的矩阵 A。我想生成一个由 A 中均匀间隔的列组成的矩阵,比如步长为 2^5。我如何在 Numpy 中执行此操作?我没有在我的参考资料中看到这一点。
【问题讨论】:
你可以只使用切片:
import numpy as np
arr = np.random.rand(512,1024)
step_size = 2 ** 5
arr[:, ::step_size] # shape is (512, 32)
所以它的作用是保留所有行,同时以所需的步长获取所有列。您可以在以下链接中阅读有关 numpy 索引的信息: https://numpy.org/doc/stable/user/basics.indexing.html?highlight=indexing#other-indexing-options
您可以将相同的逻辑应用于行或行和列,以获得更复杂的切片。
【讨论】: