关于数据维度的问题、
在matlab中数据的分隔与分行通常使用逗号和分号来区分的,比如我们可以用下面两句话分辨创建一个行向量和列向量
但是在python 里面的列表知识一个数据容器,不存在很明确的数据的轴的定义。所以通常情况下需要使用python的科学拓展计算包NUmpy来赋值进行矩阵计算和数值分析。
那么在进行数据处理的时候可能会遇到这样一个问题: 如何创建一个行矩阵或者列矩阵。
通常的做法是“
a = [1,2,3,4]
b = np.array(a)
b
Out[20]: array([1, 2, 3, 4])
创建一个新的列表,然后将列别转化成array,但是这样通常会有问题,因为矩阵运算通常需要时二维的,这番操作创建的数据实际上是一个维度的。
因此有两种解决方法:
1、创建一个二维的列表,然后将列表转化成为array
Out[26]: [[1, 2, 3, 4], [1, 2, 3, 4]]
b = np.array(a)
Out[28]:
array([[1, 2, 3, 4],
[1, 2, 3, 4]])
2、对于本来是一维列表,先转化为一维的array,然后再使用np.newaxsi,给数据增加一个附加的维度
a = [1,2,3,4]
b = np.array(a)
b[np.newaxis,:]
Out[39]: array([[1, 2, 3, 4]])
其中在添加附加轴的时候的思路是: 将待加入的数据放到新加的轴的一个数位上。