python:shape和reshape()函数

在numpy中,shape和reshape()函数很常用。二者的功能都是对于数组的形状进行操作。

shape函数可以了解数组的结构;
reshape()函数可以对数组的结构进行改变。

shape

import numpy as np
#设置一个数组
a = np.array([1,2,3,4,5,6,7,8])
a.shape   '''结果:(8,)'''
type(a.shape)    '''结果:tuple'''
a.shape[0]    '''结果:8'''
b = np.array([[1,2],[2,3],[3,4]])
b.shape   '''结果:(3, 2)'''
b.shape[0]    '''结果:3'''
b.shape[2]    '''结果:2'''

结论:我们可以通过shape函数得出数组的形状,得出的结果是一个tuple格式的数据,之后我们可以获取其中的数据。

reshape()

a = np.array([1,2,3,4,5,6,7,8])
a.reshape(2,4)
'''结果:array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
'''
a.reshape(4,2)
'''结果:
array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8]])
'''

结论:reshape()函数可以改变数组的形状,并且原始数据不发生变化。

但是,reshape()函数中的参数需要满足乘积等于数组中数据总数。
如:当我们将8个数使用(2,3)重新排列时,python会报错python:shape和reshape()函数_第1张图片
而且,reshape()函数得出的数组与原数组使用的是同一个存储空间,改变一个,另一个也随之改变。
python:shape和reshape()函数_第2张图片

注意

shape和reshape()函数都是对于数组(array)进行操作的,对于list结构是不可以的

python:shape和reshape()函数_第3张图片

你可能感兴趣的:(编程,机器学习,python)