Python数据分析:numpy翻转数组
函数 | 描述 |
---|---|
transpose | 对换数组的维度 |
ndarray.T | 转置 |
rollaxis | 向后滚动指定的轴 |
swapaxes | 对换数组的两个轴 |
numpy.transpose 对换数组的维度
numpy.transpose(arr, axes)
arr
:要操作的数组axes
:整数列表,对应维度,通常所有维度都会对换
import numpy as np
a = np.arange(12).reshape(3,4)
print ('原数组:')
print (a )
print ('--------------------')
print ('维度对换之后数组(4,3):')
print (np.transpose(a))
运行结果:
numpy.ndarray.T 类似 numpy.transpose
import numpy as np
a = np.arange(12).reshape(3,4)
print ('原数组:')
print (a)
print ('--------------------')
print ('转置数组:')
print (a.T)
运行结果:
numpy.rollaxis 向后滚动特定的轴到一个特定位置
numpy.rollaxis(arr, axis, start)
arr
:数组axis
:要向后滚动的轴,其它轴的相对位置不会改变start
:默认为零,表示完整的滚动。会滚动到特定位置
import numpy as np
# 创建了三维的 ndarray
a = np.arange(8).reshape(2,2,2)
print ('原数组:')
print (a)
print ('--------------------')
# 将轴 2 滚动到轴 0(宽度到深度)
print ('调用 rollaxis 函数:')
print (np.rollaxis(a,2))
print ('--------------------')
# 将轴 0 滚动到轴 1:(宽度到高度)
print ('调用 rollaxis 函数:')
print (np.rollaxis(a,2,1))
运行结果:
numpy.swapaxes 交换数组的两个轴
numpy.swapaxes(arr, axis1, axis2)
import numpy as np
# 创建了三维的 ndarray
a = np.arange(8).reshape(2,2,2)
print ('原数组:')
print (a)
print ('--------------------')
# 现在交换轴 0(深度方向)到轴 2(宽度方向)
print ('调用 swapaxes 函数后的数组:')
print (np.swapaxes(a, 2, 0))
运行结果:
参考:http://www.runoob.com/numpy