python numpy中以数组和矩阵作为数组和矩阵的索引
发布日期:2021-05-08 05:11:47 浏览次数:19 分类:原创文章

本文共 599 字,大约阅读时间需要 1 分钟。

目录

数组作为数组的索引

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

结果为

array([2, 2, 1])

这里b可以换成列表或元组,a不能换。

数组作为矩阵的索引

这里只谈论二维矩阵

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

结果为

array([[4, 5, 6],       [4, 5, 6],       [1, 2, 3]])

b中每个元素对应a中一行,如果需要对应a单个元素,需要b的元素本身二维列表、数组或者元组。

矩阵作为矩阵的索引

这里只谈论二维矩阵

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

结果为

array([[[4, 5, 6],        [4, 5, 6],        [1, 2, 3]],       [[1, 2, 3],        [1, 2, 3],        [1, 2, 3]],       [[1, 2, 3],        [1, 2, 3],        [4, 5, 6]]])

相当于在上一种情况中把b变成了三个数组,所以一共得到了三个矩阵。

思考

如果矩阵作为数组的索引,情况如何?

上一篇:numpy.newaxis的用法
下一篇:关于stl vector的emplace_back函数参数

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2025年04月10日 13时06分10秒