Numpy的Reshape和Resize


前言

一、 Numpy的Reshape
二、 Numpy的Resize

说明:
reshape和resize 都可以改变数组的形状,但是reshape不改变原有数组的数据,resize可以改变原数组的数据

一、 Numpy的Reshape

1.shape是查看数据有多少行多少列
2.reshape()是数组array中的方法,这个方法是在不改变数据内容的情况下,改变一个数组的格式。(作用是将数据重新组织)
(1). order : 可选范围为{‘C’, ‘F’, ‘A’}。使用索引顺序读取a的元素,并按照索引顺序将元素放到变换后的的数组中。如果不进行order参数的设置,默认参数为C。
(2). “C”指的是用类C写的读/索引顺序的元素,最后一个维度变化最快,第一个维度变化最慢。 以二维数组为例,简单来讲就是横着读,横着写,优先读/写一行。
(3). “F”是指用FORTRAN类索引顺序读/写元素,最后一个维度变化最慢,第一个维度变化最快。 竖着读,竖着写,优先读/写一列。注意,“C”和“F”选项不考虑底层数组的内存布局,只引用索引的顺序。

Reshape的实操案例

1.shape查看数据有多少行多少列

import  numpy as np
a = np.arange(8)
print(a)
print(a.shape)   # 查看当前格式,结果为18列,即(8,) 相当于(1,8)

在这里插入图片描述
2.reshape()数据的重新组织。

import  numpy as np

a = np.arange(8)
print(a)
print(a.shape)          # 查看当前格式,结果是一维的18列,即(8,) 相当于(1,8)
print("-"*20)

b = a.reshape(1,8)      # 改变格式(形状)为18列,行数是 a(8)能除的尽的数才行
print(b.shape)          # 查看当前格式

c = a.reshape(1,-1)     # 改变格式(形状),'-1代表请系统自行计算列数'
print(c.shape)
print("-"*20)

d = a.reshape(2,-1)      # 224列,行数是 a(8)能除的尽的数才行
print(d.shape)

e = a.reshape(4,-1)      # 242列  行数是 a(8)能除的尽的数才行
print(e.shape)

f = a.reshape(2,2,-1)    # 3print(f.shape)

print("-"*20)
g = a.reshape(3,-1)
print(g.shape)            #行数是 a(8)能除的尽的数才行,否则会报错。

在这里插入图片描述

报错信息:
在这里插入图片描述

3.reshape()中order的使用

import  numpy as np              # order的使用
a = np.arange(8)

b = a.reshape(2,4,order = 'C')   # order =  'C'  横着读,横着写,默认为C
print(b)
print("-"*20)
b1 = a.reshape(2,4,order = 'F')  # order =  'F' 竖着读,竖着写
print(b1)

在这里插入图片描述

二、 Numpy的Resize

Resize就是变更原有矩阵的大小
◼ resize-1:有返回值的resize,不会改变原来array的shape;
◼ resize-2:若resize后需要的数据量少,会丢弃一些数据;
◼ resize-3:若resize后需要的数据量多,会补0。

Resize的实操案例

import  numpy as np
a = np.arange(9)
print(a)

b = np.resize(a,(2,4))   # 若resize后需要的数据量少,会丢弃一些数据;
print(b)
print('-'*15)
b = np.resize(a,(6,3))   # 改变形状为63,尺寸不够会循环填充;
print(b)

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值