gpt4 book ai didi

python - 使用 linspace 和 ones 创建 Numpy 矩阵

转载 作者:太空宇宙 更新时间:2023-11-04 10:26:47 24 4
gpt4 key购买 nike

有了 Numpy,我想我可以这样创建一个矩阵

 z = np.array( [np.linspace(0, 1, 2), np.ones((1, 2)), np.ones((1, 2))] )

然而,这给了我:

array([array([ 0.,  1.]), array([[ 1.,  1.]]), array([[ 1.,  1.]])], dtype=object)

然后检查它的形状:

>>> z.shape
(3,)

列维度不存在。所以我想我得到了一个包含三个数组对象的数组。

如何在此处使用 linespace() 和 ones() 得到 3 x 2 矩阵?

最佳答案

如果输入是一维的,您可以使用 numpy.array:

np.array([np.linspace(0, 1, 2), np.ones((2,)), np.ones((2,))])

产量

array([[ 0.,  1.],
[ 1., 1.],
[ 1., 1.]])

请注意,np.ones((1,2)) 具有二维形状 (1,2),而 np.linspace(0 , 1, 2) 具有一维形状 (2,)。要使用 np.array 创建所需的结果,数组需要具有兼容的形状——在本例中,这意味着使用一维数组 np.ones(2,) 而不是 np.ones((1,2))


如果您必须使用 np.ones((1,2)),那么您可以改为制作 np.linspace(0, 1, 2) 二维同样,然后使用 numpy.vstack :

np.vstack([np.linspace(0, 1, 2)[np.newaxis, :], np.ones((1,2,)), np.ones((1,2,))])

产量

array([[ 0.,  1.],
[ 1., 1.],
[ 1., 1.]])

关于python - 使用 linspace 和 ones 创建 Numpy 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28915735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com