Skip to main content
 首页 » 编程设计

python:将一个数字除以一个numpy数组

2025年05月04日20think

我已经尝试了前两个解决方案 here和底部解决方案,因为它处理了 numpy 但没有任何效果。

我想用 80.0 除以我的数组名称的每个元素,即一个新数组 dx。

import numpy 
 
L = 80.0 
N = [] 
 
 
for n in range(-4, 10): 
    N.append(str(2 ** N)) 
 
 
N = np.array([N]) 

这是设置。所以我尝试过的是:

  1. dx = L/N
  2. dx = map(lambda x: L / x, N) 
    dx = np.array([dx]) 
    
  3. 最后,将 N 保存为列表并将 N 保存为 numpy 数组并执行

    dx = [x / N for x in N] 
    dx = np.array([dx]) 
    

不幸的是,我无法在文档中找到有帮助的帖子或任何内容。我该怎么做才能达到预期的结果?

请您参考如下方法:

您的代码包含多个错误,并且您有很多不必要的转换,但是:您为什么不直接用 numpy 试试呢?

像这样:

import numpy as np 
 
L = 80.0 
N = 2 ** np.arange(-4, 10, dtype=np.float64) 
dx = L / N 

给你预期的结果

array([  1.28000000e+03,   6.40000000e+02,   3.20000000e+02, 
         1.60000000e+02,   8.00000000e+01,   4.00000000e+01, 
         2.00000000e+01,   1.00000000e+01,   5.00000000e+00, 
         2.50000000e+00,   1.25000000e+00,   6.25000000e-01, 
         3.12500000e-01,   1.56250000e-01]) 

顺便说一句。您还可以在使用点时隐式强制 dtype 为 float:

N = 2 ** np.arange(-4., 10.)