我有一个 2D Numpy 数组,我想对每一行应用一个函数,并用结果形成一个新列(新的第一列)。例如,让
M = np.array([[1,0,1], [0,0,1]])
Run Code Online (Sandbox Code Playgroud)
我想sum在每一行上应用该函数并得到
array([[2,1,0,1], [1,0,0,1]])
Run Code Online (Sandbox Code Playgroud)
所以第一列是[2,1]第一行和第二行的总和。
当数组具有相似的维数时,通常可以将它们相互追加np.concatenate。您可以sum使用参数保证无论轴如何,都将保留维度keepdims:
np.concatenate((M.sum(axis=1, keepdims=True), M), axis=1)
Run Code Online (Sandbox Code Playgroud)
这相当于
np.concatenate((M.sum(1)[:, None], M), axis=1)
Run Code Online (Sandbox Code Playgroud)