Skip to main content
 首页 » 编程设计

python之np.linalg.norm 在数组的多行上

2025年05月04日11daizhj

我正在尝试获取数组中每个向量的大小,如下所示;

[[0.1,1.0,2.0] 
[0.5,2.0,1.0] 
[0.4,3.0,0.5]] 

我想像这样将它们放入一个新的 numpy 数组中;

[[1.2] 
[2.0] 
[2.1]] 

目前我正在循环执行此操作;

for i in range(x)): 
    d = vec2[i] - vec1[i] 
    dist[i] = np.linalg.norm(d) 
 

但是我想用纯 numpy 来做这个(上面是 numpy 数组) 有没有办法我想在一条线上做到这一点? 这不起作用,因为我得到的值不相同;

d = vec2 - vec1 
dist = np.linalg.norm(d, axis=1) 

请您参考如下方法:

使用 axis=0 或 axis=1,这应该对每个数组执行计算,具体取决于您前进的方向