python中numpy的数组[ndarray]中的axis的一种理解

 昨天总结numpy的时候还是有些问题的,问题集中在对轴的理解。这里主要通过对一个三维数组进行交换轴的操作来加强一下相关了解。


为了相对形象,我们举一个语言相关的例子:
小明
小明喜欢在太阳上带着王冠弹钢琴
小明的宠物是金星上的瓶子里的青蛙
小明喜欢在美国捆着卫生纸蹦极
小芳
小芳喜欢在月亮上戴着香菜吹笛子
小芳的宠物是武汉带着眼镜的蝙蝠
小芳喜欢在英国戴着帽子睡觉

然后我们将文字变成数组:
[
[
[太阳,王冠,弹钢琴],
[金星,瓶子,蛤蟆],
[美国,厕纸,蹦极]
],
[
[月亮,香菜,吹笛子],
[武汉,眼镜,蝙蝠],
[英国,帽子,睡觉]
]
]
这是一个三维数组,应该很好理解吧。
为了更加形象,我们用图片来表示:
图片

 python里面的轴是0,1,2,表示的
图片里小芳和小明这两个标签是0轴标签
单看小明这个这个对象,3行分别是艺术、宠物和运动,是1轴的标签
但看小明的艺术,地点、装饰、客体又是1轴的标签
[此处有部分问题]

然后交换第0维和第2维得到以下结果
图片

交换第1维和第0维得到以下结果:
图片

然后我们可以转换成自然语言:
小明喜欢在太阳上表演艺术,而小芳喜欢在月亮上
小明喜欢的宠物在金星,而小芳的在武汉
小明喜欢在美国锻炼,小芳喜欢在英国

其他同理。感觉和我最近做得一些东西有点像,但又抽象不出来

 

posted @ 2020-02-07 13:17  matthew's_follower  阅读(531)  评论(0编辑  收藏  举报