需要在numpy数组中添加元素

时间:2015-05-26 11:51:57

标签: python arrays numpy

我需要在numpy数组中添加一个元素。但追加和延伸都不起作用。 这里a1是一个函数。

import numpy as np
def a1(f):
    return 700*(np.exp(f/1125.0) - 1)

f = np.zeros(26)
N = 26
f_min = 300
f_max = 16000

for n in range(N):
    f[n] = (f_min + n*(f_max - f_min)/(N-1))

h = a1(f)
h = h[::-1]
np.append(h, 0)
print h

输出结果为:

[ 16000.          14221.33951611  12632.11814102  11212.15935635
  9943.43557641   8809.83927267   7796.97847492   6891.99405301
  6083.39645924   5360.91985872   4715.39179592   4138.6167425
  3623.27204809   3162.81497306   2751.39962281   2383.80272921
  2055.35733672   1761.89355146   1499.68560083   1265.40453166
  1056.07594631    869.04224018    701.92886113    552.61416253
  419.20246718    300.        ]

为什么最后一个0没有被追加? h的类型也是numpy.ndarray。

1 个答案:

答案 0 :(得分:2)

您需要将np.append(h, 0)分配给h,如

h = np.append(h, 0)
print h