gpt4 book ai didi

python - 如何向 NumPy 数组添加额外的列?

转载 作者:IT老高 更新时间:2023-10-28 12:10:33 24 4
gpt4 key购买 nike

给定以下二维数组:

a = np.array([
[1, 2, 3],
[2, 3, 4],
])

我想沿第二个轴添加一列零以获得:

b = np.array([
[1, 2, 3, 0],
[2, 3, 4, 0],
])

最佳答案

np.r_[ ... ]np.c_[ ... ]vstackhstack 的有用替代品,用方括号 [] 代替圆 ()。
举几个例子:

: import numpy as np
: N = 3
: A = np.eye(N)

: np.c_[ A, np.ones(N) ] # add a column
array([[ 1., 0., 0., 1.],
[ 0., 1., 0., 1.],
[ 0., 0., 1., 1.]])

: np.c_[ np.ones(N), A, np.ones(N) ] # or two
array([[ 1., 1., 0., 0., 1.],
[ 1., 0., 1., 0., 1.],
[ 1., 0., 0., 1., 1.]])

: np.r_[ A, [A[1]] ] # add a row
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.],
[ 0., 1., 0.]])
: # not np.r_[ A, A[1] ]

: np.r_[ A[0], 1, 2, 3, A[1] ] # mix vecs and scalars
array([ 1., 0., 0., 1., 2., 3., 0., 1., 0.])

: np.r_[ A[0], [1, 2, 3], A[1] ] # lists
array([ 1., 0., 0., 1., 2., 3., 0., 1., 0.])

: np.r_[ A[0], (1, 2, 3), A[1] ] # tuples
array([ 1., 0., 0., 1., 2., 3., 0., 1., 0.])

: np.r_[ A[0], 1:4, A[1] ] # same, 1:4 == arange(1,4) == 1,2,3
array([ 1., 0., 0., 1., 2., 3., 0., 1., 0.])

(方括号[]而不是圆()的原因是 Python 扩展了吗? 1:4 方形 --重载的奇迹。)

关于python - 如何向 NumPy 数组添加额外的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8486294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com