python:shape和reshape()函数

版权声明:未经允许,禁止转载 https://blog.csdn.net/weixin_43216017/article/details/87266388

在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会报错参数要求
而且,reshape()函数得出的数组与原数组使用的是同一个存储空间,改变一个,另一个也随之改变。
reshape()存储空间

注意

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

list

猜你喜欢

转载自blog.csdn.net/weixin_43216017/article/details/87266388
今日推荐