Skip to main content
 首页 » 编程设计

python之如何通过该列模块有效地划分列的每个元素

2024年08月12日41zhoujg

我有一个很大的np.array

[1.,    2.,    3.,    ...] 
[1000., 1001., 1002., ...] 
[2000., 2001., 3002., ...] 
[3000., 3001., 3002., ...] 

例如。我想将每一列的每个元素除以该列的模块。 这是第一列的示例:

col_1 = {1, 1000, 2000, 3000}

module_col_1 =

new_col_1 = {1/模块,1000/模块,2000/模块,3000/模块}

使用for 循环太慢了。如果没有 for 循环,我怎么能做这个计算呢?

请您参考如下方法:

像这样?

M = np.array([[1,2,3],[1000,1001,2002],[2000,2001,2002]]) 
M / np.sqrt(np.sum(M**2,axis=0)) 
array([[4.47213551e-04, 8.93890482e-04, 1.05959998e-03], 
       [4.47213551e-01, 4.47392186e-01, 7.07106384e-01], 
       [8.94427102e-01, 8.94337427e-01, 7.07106384e-01]])