numpy 将数组追加到数组

Mar*_*e_W 1 python arrays numpy

我正在尝试将一个 numpy 数组附加到另​​一个 numpy 数组,如下所示:

import numpy as np
meanings = 2
signals = 4

def new_agent(agent_type, context_size):
    if agent_type == 'random':
        comm_system = np.random.random_integers(0, 1, (meanings, signals))
    if agent_type == 'blank':
        comm_system = np.zeros((meanings, signals), int)
    score_list = np.array([0., 0., 0., 0.])
    np.append(comm_system, score_list)
    np.append(comm_system, context_size)
    return comm_system
Run Code Online (Sandbox Code Playgroud)

如果我现在打电话:

random_agent = new_agent('random', 5)
Run Code Online (Sandbox Code Playgroud)

我希望得到类似的东西:

[[0 1 0 0]
[1 1 0 1]
[0. 0. 0. 0.]
5]
Run Code Online (Sandbox Code Playgroud)

但相反,我只得到:

[[0 1 0 0]
[1 1 0 1]]
Run Code Online (Sandbox Code Playgroud)

所以 score_list 和 context_size 不会被附加。当我用“空白”调用 new_agent() 时也是如此。

谢谢!

Rob*_*let 5

您可以使用hstackvstack来连接数组:

>>> from numpy import array, hstack, vstack
>>> a = array([1, 2, 3])
>>> b = array([4, 5, 6])

>>> hstack([a, b])
array([1, 2, 3, 4, 5, 6])

>>> vstack([a, b])
array([[1, 2, 3],
       [4, 5, 6]])
Run Code Online (Sandbox Code Playgroud)