繁体   English   中英

将 function 应用于 Numpy 阵列的特定行

[英]Apply a function to specific rows of a Numpy array

假设我有一个二维数组,一个 function 和一个特定行的“掩码”,如下所示:

my_array = np.array([[0,1],[2,3],[4,5],[6,7]])
my_mask = np.array([0,1,0,1])
my_func = lambda x: x * 2

如何将此 function 应用于掩码中为真的数组行? 即对于上面的示例,结果将是:

array([[0,1],[4,6],[4,5],[12,14]])

您可以使用 boolean 索引:

mask = my_mask==1
my_array[mask] = my_func(my_array[mask])

Output:

array([[ 0,  1],
       [ 4,  6],
       [ 4,  5],
       [12, 14]])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM