说我有一个numpy数组
import numpy as np
>>> a = np.array([[1, 2],
[3, 4]])
我想提取每一列并像这样对它应用一个函数
>>> a_col_1 = a[:, 0]
array([1, 3])
>>> new_col_1 = tranform(a_col_1)
array([[1, 1],
[3, 3]])
>>> a_col_2 = a[:, 1]
array([2, 4])
>>> new_col_2 = tranform(a_col_2)
array([[2, 2],
[4, 4]])
,然后以某种新的扩展值重建原始数组,以代替旧的单值,如下所示:
array([[1, 1, 2, 2],
[3, 3, 4, 4]])
是否有方便的numpy方法来做到这一点?
答案 0 :(得分:0)
这实际上非常容易!对numpy.concatenate
函数进行的快速实验发现,np.concatenate([new_col_1, new_col_2], axis=1)
可以达到所需的结果。