python中ndarray数组的转置和改造(reshape)

python中的数据结构是通过ndarray来实现的,类似于matlab中的matrix。对矩阵进行的有很多种,常用的有转置(transposition)和改造(reshape)。转置就是把原来的行列互换,而改造则是把矩阵的长宽变成另外一对数值。演示代码如下:

import numpy as np
data = np.arange(10)
t_data = data.T
rs_data = data.reshape((2,5))
trs_data = rs_data.T
print(data)
print(t_data)
print(rs_data)
print(trs_data)

运行之后得到以下结果:

[0 1 2 3 4 5 6 7 8 9]
[0 1 2 3 4 5 6 7 8 9]
[[0 1 2 3 4]
 [5 6 7 8 9]]
[[0 5]
 [1 6]
 [2 7]
 [3 8]
 [4 9]]
[Finished in 2.2s]

特别要注意的是,我们发现对于一位数组,是用行向量来表示的,这个有点和数学上的约定相反,我们知道,在数学上,我们谈论向量的时候,默认是用的列向量。但是没有办法,毕竟计算机和数学还是两门不同的学科,我们都得按照江湖规矩来办。

你可能感兴趣的:(python高级数据处理方法)