NumPy中的resize和reshape函数 您所在的位置:网站首页 resize函数参数 NumPy中的resize和reshape函数

NumPy中的resize和reshape函数

2023-08-10 02:45| 来源: 网络整理| 查看: 265

NumPy中的resize函数和reshape函数

通过实验可以发现,resize函数和reshape函数都各有两种调用方式:若假设x为ndarray的数组,则可以调用np.reshape(x,元组)和x.reshape(元组),resize也是一样,有x.resize()和np.resize()两种方式。

这四种调用的方式只有x.resize()一种会实际改变原数据的形状。下面来看x.shape():

>>> import numpy as np >>> t1=np.arange(12) >>> t1.shape (12,) >>> print(t1.reshape((2,6))) [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11]] >>> print(t1) [ 0 1 2 3 4 5 6 7 8 9 10 11]

x.reshape()是最常见的调用方式,这种会返回一个数据和x一致但是形状修改的数组,x原有的形状不会被改变。

>>> t2=np.arange(12) >>> print(np.reshape(t2,(2,6))) [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11]] >>> print(t2) [ 0 1 2 3 4 5 6 7 8 9 10 11]

可以看到np.reshape()的方式和x.shape()的结果一致,都会返回一个数据相同、形状修改的数组,原数组的形状未得到改变。

>>> t3=np.arange(12) >>> print(t3.resize((2,6))) None >>> t3 array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11]]) >>>

与reshape函数不同,x.resize()没有输出值,而且会修改原数组的形状。也就是不会有新数组产生,只是原来的数组变了形状。

>>> t4=np.arange(12) >>> print(np.resize(t4,(2,6))) [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11]] >>> t4 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])

np.resize()有输出值,原有数组的形状也没有改变。按结果而言,x.reshape()、np.reshape()、np.resize()函数的功能都一样,返回一个形状改变的数组,原数组形状不变。只有x.resize()会真正改变原数组的形状。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有