将数组和标量值附加到 numpy 数组

Append array and a scalar value to a numpy array

我正在尝试将一个 numpy 数组和一个标量值附加到一个 numpy 数组。

logf= np.array([20, 25, 31.5, 40, 50, 63, 80, 100, 125, 160])
logf = np.append(logf, [[logf*10], [logf*100]])
logf = np.append(logf, 20000)

为了附加标量值,我使用第二个附加函数附加它。我想知道是否可以使用单个追加函数追加一个数组和一个标量值。

谢谢!

您可能正在寻找 .concatenate():

import numpy as np

logf = np.array([20, 25, 31.5, 40, 50, 63, 80, 100, 125, 160])
logf = np.concatenate((logf, logf * 10, logf * 100, [20000]))
print(logf)

结果:

[   20.     25.     31.5    40.     50.     63.     80.    100.    125.
   160.    200.    250.    315.    400.    500.    630.    800.   1000.
  1250.   1600.   2000.   2500.   3150.   4000.   5000.   6300.   8000.
 10000.  12500.  16000.  20000. ]

numpy.concatenate() 需要一系列等维的输入数组,因此您不能像 20000 那样只传入标量值 - 相反,您可以将它括在括号中以使其成为像其余表达式一样的一维数组。另请注意,logf * 100 是一个已经生成一维数组的表达式,因此不需要额外的括号。