Python 多维数组 - 在每行的开头和结尾添加附加值
如何在多维数组的每一行的开头和结尾添加 0?这是我试图应用于每一行的函数。
def zero(ltr):
for x in range (1,int((N+1)/2)):
ltr = append(([0]), ltr)
ltr = append(ltr,([0]))
return ltr
我尝试过同时使用
for row in a:
zero(row)
和 apply_along_axis(零,1,a)
这些命令都没有达到我想要的效果。
How do I add 0's to the beginning and end of each row of a multidimensional array? This is the function I am trying to apply to each row.
def zero(ltr):
for x in range (1,int((N+1)/2)):
ltr = append(([0]), ltr)
ltr = append(ltr,([0]))
return ltr
I have tried using both
for row in a:
zero(row)
andapply_along_axis(zero,1,a)
Neither one of these commands does what I want.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
无法将条目添加到二维数组的单行中。所有行必须始终具有相同的长度。但您可以一次向所有行添加条目。
如果
a
是二维 NumPy 数组,则可以使用numpy.hstack
在左侧和右侧添加零:为了举例,我添加了
左侧有 2
个零,右侧有1
个零。It is not possible to add entries to single rows of a two-dimensional array. All rows must always have the same length. But you can add entries to all rows at once.
If
a
is a two-dimensional NumPy array, you can usenumpy.hstack
to add zeros to left and the right:For the sake of example, I added
2
zeros to the left and1
zero to the right.编辑:我发现您已经在使用
numpy
。为了教育起见,我将保留此内容,但您应该使用hstack
,如 斯文的回答。或者如果您愿意:
EDIT: I see you're already using
numpy
. I'll leave this for the sake of education, but you should usehstack
as in Sven's answer.or if you prefer: