我是靠谱客的博主 安详咖啡,最近开发中收集的这篇文章主要介绍x[:,:,None,:]-x[:,:,:,None],觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

x[:,:,None,:]-x[:,:,:,None]

None相当于在数组中多加一个维度。

输入:

x = np.arange(24).reshape((2,3,4))

输出:

array([[[ 0,
1,
2,
3],
[ 4,
5,
6,
7],
[ 8,
9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
 x[:,:,None,:]

输出,形状(2,3,1,4):

array([[[[ 0,
1,
2,
3]],
[[ 4,
5,
6,
7]],
[[ 8,
9, 10, 11]]],
[[[12, 13, 14, 15]],
[[16, 17, 18, 19]],
[[20, 21, 22, 23]]]])
x[:,:,:,None]

输出,形状(2,3,4,1):

array([[[[ 0],
[ 1],
[ 2],
[ 3]],
[[ 4],
[ 5],
[ 6],
[ 7]],
[[ 8],
[ 9],
[10],
[11]]],
[[[12],
[13],
[14],
[15]],
[[16],
[17],
[18],
[19]],
[[20],
[21],
[22],
[23]]]])
x[:,:,None,:]-x[:,:,:,None]

这里相减时用到了广播机制,都先变成(2,3,4,4),再相减
输出,形状(2,3,4,4):

array([[[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]],
[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]],
[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]]],
[[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]],
[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]],
[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]]]])

最后

以上就是安详咖啡为你收集整理的x[:,:,None,:]-x[:,:,:,None]的全部内容,希望文章能够帮你解决x[:,:,None,:]-x[:,:,:,None]所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部