首页  >  文章  >  后端开发  >  如何使用'np.c_[...]”向 NumPy 数组添加额外的列?

如何使用'np.c_[...]”向 NumPy 数组添加额外的列?

Barbara Streisand
Barbara Streisand原创
2024-11-05 01:40:01866浏览

How do I add an extra column to a NumPy array using `np.c_[...]`?

向 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn