shape可以查看数组的结构
reshape可以改变数组结构
1.shape
当数组是一维数组的时候(通俗的讲只有一个数组的时候)
使用shape显示的该数组的元素个数,指的是该数组的列数
import numpy as np
def shape1():
data=np.array([2,3])
print(data.shape)
if __name__=="__main__":
shape1()
输出的值为:
(2,)
代表该数组有两列
当数组是多维数组的时候,使用shape显示的是行列数
import numpy as np
def shape1():
data=np.array([[2,3],[5,6],[9,77]])
print(data.shape)
if __name__=="__main__":
shape1()
结果是:
(3, 2)
表示该数组有三行两列
注意
shape[0]表示输出数组的行数
shape[1]表示输出数组的列数
shape()表示输出行列数
import numpy as np
def shape1():
data=np.array([[2,3],[5,6],[9,77]])
print(data.shape[0])
if __name__=="__main__":
shape1()
结果:
3
表示该数组有3行
2.reshape
改变数组的形状,但是原数据不会发生改变。但是reshape的参数要满足它们的乘积要等于数据的总个数
def reshape1():
data=np.array([3,5,6,78,9,0])
data=data.reshape(2,3)
print(data)
if __name__=="__main__":
reshape1()
# shape1()
结果:
[[ 3 5 6]
[78 9 0]]
reshape(2,3)表示将原数组结构改变成两行三列
将3变成-1也可以,计算机可以根据前面已给出的行数进行计算等价于
reshape(2,-1)
意思是在元素总数不变的情况下进行切割