我有一个数组 X
的 <class 'scipy.sparse.csr.csr_matrix'>
带形状的格式 (44, 4095)
我现在想创建一个新的 numpy 数组,比如 X_train = np.empty([44, 4095])
并以不同的顺序逐行复制。假设我想要第 5 行 X
在 X_train
的第一行.
我该怎么做(将整行复制到一个新的 numpy 数组中)类似于 matlab?
最佳答案
将新的行顺序定义为索引列表,然后使用 integer indexing 定义 X_train
:
row_order = [4, ...]
X_train = X[row_order]
请注意,与 Matlab 不同,Python 使用基于 0 的索引,因此第 5 行的索引为 4。
另请注意,整数索引(由于它能够以任意顺序选择值)返回原始 NumPy 数组的副本。
这同样适用于稀疏矩阵和 NumPy 数组。
关于python - 复制 numpy 数组中的行元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28397966/