【问题标题】:Select nth columns of an ndarray选择 ndarray 的第 n 列
【发布时间】:2021-07-30 11:45:41
【问题描述】:

我有以下 4D numpy 数组:

X = np.random.randint(0,9,(10,1,5,4))

例如,

X[0]
array([[[0, 6, 7, 7],
        [8, 3, 8, 8],
        [1, 4, 1, 0],
        [2, 4, 6, 0],
        [8, 3, 7, 8]]])

X[1]
array([[[3, 4, 3, 6],
        [1, 2, 1, 5],
        [1, 1, 0, 7],
        [2, 5, 6, 2],
        [4, 2, 6, 0]]])

每一列代表一个特定的数量。 但我对一个子数组感兴趣,它只包含X 的第一列,这样:

X_sub[0] =
array([[[0],
        [8],
        [1],
        [2],
        [8]]])

X_sub[1] =
array([[[3],
        [1],
        [1],
        [2],
        [4]]])

【问题讨论】:

    标签: python numpy multidimensional-array numpy-ndarray


    【解决方案1】:

    要得到你想要的,你可以访问X np.ndarray as

    X_sub[i] = X[i, :, :, 0]  
    # i-th subarray, select full 1d subarray, select all rows, select first column
    

    【讨论】:

    • 谢谢,您的回答有帮助。我得到它使用X_sub = X[:, :, :, 0]
    【解决方案2】:
    a = ([[[0, 6, 7, 7],
            [8, 3, 8, 8],
            [1, 4, 1, 0],
            [2, 4, 6, 0],
            [8, 3, 7, 8]]])
            
    req_list= []
    for x in a[0]:
        temp=x[0]
        req_list.append(temp)
    

    【讨论】:

      猜你喜欢
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 2018-10-07
      相关资源
      最近更新 更多