【问题标题】:How to extract the first x digits out of a matrix?如何从矩阵中提取前 x 位?
【发布时间】:2019-10-23 17:17:47
【问题描述】:

我想从给定的 nxm 矩阵中提取前 5 位数字。

例如 3x3 矩阵 A

A = [[ 1.  2.  3. ]
     [ 4.  5.  6.]
     [ 8.  9.  10.]]

前 5 位数字是 1,2,3,4,5,所以第一行和第二行的一半。

最大的问题是在不使用太多资源的情况下做到这一点,蛮力解决方案太昂贵了。

【问题讨论】:

  • a.flat[:5]就行了,不用再费心重塑解决方案,你不需要做那么多。
  • @user3483203 哦,太好了,我不知道flat。这绝对是它自己的答案。
  • @user3483203 我同意 Ruzihm 你应该把它作为答案。

标签: python python-3.x numpy matrix


【解决方案1】:

整形为(-1,),然后切片为x

import numpy as np
A = np.arange(9).reshape((3,3)) 
print (A)

x = 5
B = A.reshape((-1,))[:x]
print (B)
[[0 1 2]
 [3 4 5]
 [6 7 8]]
[0 1 2 3 4]

【讨论】:

    猜你喜欢
    • 2011-09-05
    • 2018-05-12
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多