Mathab和Python的numpy中的维度顺序

Posted 南乡水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mathab和Python的numpy中的维度顺序相关的知识,希望对你有一定的参考价值。

本文比较Matlab和Python的numpy在维度索引方面的不同点:

 

1、索引的起始点不同:Matlab起始位置的索引为1,Python为0

 

2、索引的括号不同:Matlab中元素可以通过小括号表示索引,Python中用中括号:

Matlab中a(1, 2)表示a的第一行,第二列的元素

Python的numpy中a[1, 2]表示a的第二行,第三列的元素

Matlab中a(:, 1)表示a第一列的所有元素

Python的numpy中a[:, 1]表示a第二列的所有元素

注意到:两者的最后一个索引始终是列的索引。

 

3、对数组的默认维数不同:在Matlab中,一个一维数组是一个第二维为1的二维数组。Python中,a=np.arrange(10)产生的是一个一维数组,而a = np.reshape(np.arrange(10), (10, 1))是一个二维数组,有10行1列。a = np.reshape(np.arrange(10), (1, 10))是一个二维数组,有1行10列。

 

以上是关于Mathab和Python的numpy中的维度顺序的主要内容,如果未能解决你的问题,请参考以下文章

numpy如何沿维度拆分数组?

在 Python NumPy 中,维度和轴是啥?

numpy基础——ndarray对象

什么是数组的维度,python 的ndim的使用

python中的numpy运算

数据分析之numpy