【发布时间】:2020-09-03 11:29:06
【问题描述】:
我读过concatenate。但是,没有看到函数将单个列表作为输入。它必须有两个列表作为输入。
考虑我要执行的程序中的以下语句
row = np.concatenate(row, 1)
连接在这里做什么?它只占用一个名为 row 的列表。
【问题讨论】:
-
第一个参数是
sequence,(a1, a2, ...)。那是一个列表、元组,甚至是数组(被视为数组列表)
我读过concatenate。但是,没有看到函数将单个列表作为输入。它必须有两个列表作为输入。
考虑我要执行的程序中的以下语句
row = np.concatenate(row, 1)
连接在这里做什么?它只占用一个名为 row 的列表。
【问题讨论】:
sequence,(a1, a2, ...)。那是一个列表、元组,甚至是数组(被视为数组列表)
你可能见过它最常这样使用:
c = np.concatenate([a, b])
当然你也可以这样做:
ab = [a, b]
c = np.concatenate(ab)
在连接前后查看row,看看发生了什么。
【讨论】:
np.concatenate 的第一个参数应该是一个对象序列(想想向量或矩阵)。第二个参数是执行连接的轴。有关完整的文档字符串,请参阅 help(np.concatenate)。
为了使您的命令有效,row 序列中的对象必须至少具有第 0 维和第 1 维。这通常是一个矩阵,但名称 row 暗示了一组具有维度 [0, d] 的行向量。
如果沿第一维连接形状为[0, d] 的n 向量,这将产生形状为[0, n*d] 的对象。这是一个很长的行向量。
【讨论】: