导入numpy模块
from numpy import *
import numpy as np
numpy.shape(a)数:类似数组(比如列表,元组)等,或是数组
返回:一个整型数字的元组,元组中的每个元素表示相应的数组每一维的长度
类似数组
#一维列表
L=range(5)
shape(L) #(5,)
#二维列表
L=[[1,2,3],[4,5,6]]
shape(L) #(2,3)
数组:
#一维数组
arr=array(range(5))
shape(arr) #(5,)
#二维数组
arr=array([[1,2,3], [4,5,6]])
shape(arr) #(2,3)
numpy.reshape:函数功能:给予数组一个新的形状,而不改变它的数据
reshape(a,newshape,order='c')
输入参数:
a:将要被重塑的类数组或数组
newshape:整数值或整数元组。新的形状应该兼容于原始形状。如果是一个整数值,表示一个一维数组的长度;如果是元组,表示新数组的行和列数,一个元素值可以为-1,此时该元素值表示为指定,此时会从数组的长度和剩余的维度中推断出
order:可选(忽略)
返回:一个新的形状的数组
a=array([[1,2,3],[4,5,6]])
reshape(a, 6) #array([1,2,3,4,5,6])
reshape(a, (3, -1)) #为指定的值将被推断出为2
输出:
array([[1,2],
[3,4],
[5,6]])
a = np.arange(18).reshape(9,2)
b = a.reshape(3,3,2).swapaxes(0,2)
a:
array([[ 0, 1],
[ 2, 3],
[ 4, 5],
[ 6, 7],
[ 8, 9],
[10, 11],
[12, 13],
[14, 15],
[16, 17]])
b:
array([[[ 0, 6, 12],
[ 2, 8, 14],
[ 4, 10, 16]],
[[ 1, 7, 13],
[ 3, 9, 15],
[ 5, 11, 17]]])