将函数应用于列后重建numpy数组

时间:2018-07-22 14:33:41

标签: python arrays numpy concatenation

说我有一个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方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

这实际上非常容易!对numpy.concatenate函数进行的快速实验发现,np.concatenate([new_col_1, new_col_2], axis=1)可以达到所需的结果。