【问题标题】:Assigning to columns in NumPy分配给 NumPy 中的列
【发布时间】:2025-12-05 01:50:02
【问题描述】:

如何使用 NumPy 编写以下 MATLAB 代码?

A = zeros(5, 100);
x = ones(5,1);
A(:,1) = x;

分配给行似乎很容易,但我找不到将数组分配给另一个数组的列的示例。

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    使用a[:,1] = x[:,0]。您需要x[:,0] 来选择x 的列作为单个numpy 数组。如果您可以选择如何格式化x,最好不要一开始就将其设为二维数组,而只是一个常规(行)数组:

    >>> a
    array([[ 0.,  0.,  0.],
           [ 0.,  0.,  0.],
           [ 0.,  0.,  0.],
           [ 0.,  0.,  0.],
           [ 0.,  0.,  0.]])
    >>> x = numpy.ones(5)
    >>> x
    array([ 1.,  1.,  1.,  1.,  1.])
    >>> a[:,1] = x
    >>> a
    array([[ 0.,  1.,  0.],
           [ 0.,  1.,  0.],
           [ 0.,  1.,  0.],
           [ 0.,  1.,  0.],
           [ 0.,  1.,  0.]])
    

    【讨论】:

    【解决方案2】:
    >>> A = np.zeros((5,100))
    >>> x = np.ones((5,1))
    >>> A[:,:1] = x
    

    【讨论】: