向 NumPy 数组添加额外的列
NumPy 是 Python 中强大的科学计算库,提供了一系列操作方法多维数据。其中包括向数组添加额外列的任务。让我们探索如何使用专门的 NumPy 函数来实现这一点,这些函数提供了一种方便有效的方法来扩展数组的维度。
使用 np.r_[...] 和 np.c_[.. .]
要向 2D 数组添加额外的列,两个有用的 NumPy 函数是 np.r_[...] (用于添加行)和 np.c_[...] (用于添加列)。与 np.vstack 和 np.hstack 不同,这些函数使用方括号 [] 而不是圆括号 ()。
考虑以下 2D 数组:
<code class="python">import numpy as np a = np.array([ [1, 2, 3], [2, 3, 4], ])</code>
添加一列零第二个轴,使用 np.c_[...]:
<code class="python">b = np.c_[a, np.zeros(a.shape[0])]</code>
这会产生所需的输出:
<code class="python">b = np.array([ [1, 2, 3, 0], [2, 3, 4, 0], ])</code>
其他示例
np.r_[...] 和 np.c_[...] 提供了向数组添加行/列的多功能性。以下是一些进一步的示例:
<code class="python">N = 3 A = np.eye(N) # Add a column np.c_[A, np.ones(N)] # Add two columns np.c_[np.ones(N), A, np.ones(N)] # Add a row np.r_[A, [A[1]]] # Mix vectors and scalars np.r_[A[0], 1, 2, 3, A[1]] # Use lists or tuples np.r_[A[0], [1, 2, 3], A[1]] np.r_[A[0], (1, 2, 3), A[1]] # Use Python slice syntax np.r_[A[0], 1:4, A[1]]</code>
理解方括号与圆括号
值得注意的是 np.r_[...] 和 np.r_[...] 。 c_[...] 使用方括号,而 np.vstack 和 np.hstack 使用圆括号。这是因为当在方括号内使用时,Python 将 1:4 解释为切片对象。该切片对象代表值 1、2 和 3,然后将其添加到数组中。
以上是如何使用'np.c_[...]”向 NumPy 数组添加额外的列?的详细内容。更多信息请关注PHP中文网其他相关文章!