IndexError:仅整数,切片(`:`),省略号(`...`)

时间:2019-02-01 00:51:49

标签: python numpy indexing

我了解有关此主题的答案很多,但是我已经仔细检查了所有答案,但没有找到适合我的答案。 我确定该错误是幼稚的,但仍然找不到解决方案。 我想从numpy.linspace中获取一些内容。

 import numpy
 #Porosity range
 phi = numpy.linspace(0.1, 1, num=10)
 mu = [1, 10, 100, 1000]

示例,它看起来像但不循环且有效:

 mu_total3 = mu[0]*phi[2]+ mu[1]*(1 - phi[2])
 print(mu_total3)
 7.3

我想要的是以下内容:

 for x in phi:
      mu_total = mu[0]*phi[x]+ mu[1]*(1 - phi[x])
      print(mu_total)

1 个答案:

答案 0 :(得分:0)

Numpy专门从事矢量运算。那就是采用一个或两个数组并将一个运算应用于所有元素。对于python列表,您可能会这样写:

zs = [] 
for x, y in zip(xs, ys):
    z = x + 2*y
    zs.append(z)
print(zs)

带有numpy数组的英雄,您可以编写:

zs = xs + 2*ys
print(zs)

应用于以下代码:

mu_totals = mu[0]*phi + mu[1]*(1 - phi)