关于Python的Numpy库reshape()函数的用法

简介: 1.介绍更改数组的形状,不改变原数组2.语法a = np.reshape(mat, newshape, order = ‘C’)a : newshape形状的新数组mat : 原数组

1.介绍

更改数组的形状,不改变原数组

2.语法

a = np.reshape(mat, newshape, order = ‘C’)

a : newshape形状的新数组

mat : 原数组

newshape:(1, 2)/ 1, 2 都可以改为1行2列的数组

order:读取原数组的规则,默认为C(C行优先,F按某种方式,但不是列优先!)

order暂时按这么理解。

3.使用

  1. b = np.reshape(a, newshape)
  2. b = a.reshape(newshape)

key:其中newshape中可以有参数-1,意义为模糊推测,如(-1, 2)我不管你有行,修改为2列的二维数组即可;如(3,-1)我不管你有几列,修改为3行的二维数组即可

3.1 order的引用示例

行优先:

import numpy as np
a = np.array([[1, 2, 3, 10], [4, 5, 6, 11], [7, 8, 9, 12]])
print("原数组:")
print(a)
# 修改为1,行12列数组,顺序读取
b = a.reshape(1, 12, order='C')
print("修改后:")
print(b)


dbab2e18ff874bfda5fd2c54ddd511fb.png

F方式读取

import numpy as np
a = np.array([[1, 2, 3, 10], [4, 5, 6, 11], [7, 8, 9, 12]])
print("原数组:")
print(a)
# 修改为1行12列,按列优先读取
b = a.reshape(1, 12, order='F')
print("修改后:")
print(b)


04eb4dcb33f64ab48254e184e15fba78.png

非列优先

3.2 实际用法(一般order为默认值)

给定形状

import numpy as np
# 3行4列的二维数组
a = np.array([[1, 2, 3, 10], [4, 5, 6, 11], [7, 8, 9, 12]])
print("原数组:")
print(a)
# 此时中间只剩newshape,2行6列
b = a.reshape(2,6)
print("修改后:")
print(b)


d19b17dd2d9b409cbf026de718dcfd5e.png

模糊推测,推测列

import numpy as np
# 3行4列的二维数组
a = np.array([[1, 2, 3, 10], [4, 5, 6, 11], [7, 8, 9, 12]])
print("原数组:")
print(a)
# 此时中间只剩newshape,修改为6行的数组就行,多少列我不知道
b = a.reshape(6, -1)
print("修改后:")
print(b)

模糊推测,推测行

import numpy as np
# 3行4列的二维数组
a = np.array([[1, 2, 3, 10], [4, 5, 6, 11], [7, 8, 9, 12]])
print("原数组:")
print(a)
# 此时中间只剩newshape,修改为3列的数组就行,多少行我不知道
b = a.reshape(-1, 3)
print("修改后:")
print(b)


b47d038e241a4f95a1a85871e06ecdb3.png

模糊推测升维

import numpy as np
# 3行4列的二维数组
a = np.array([[1, 2, 3, 10], [4, 5, 6, 11], [7, 8, 9, 12]])
print("原数组:")
print(a)
# 此时中间只剩newshape,修改为3行2列的子数组,多少行我不知道
b = a.reshape((-1, 3, 2))
print("修改后:")
print(b)


8f3f6cab78024748864c98b78e47653c.png

key:在数组的一开始,数方括号,个数即为维数,原数组为二维数组,修改的数组为3维数组

以上就是reshape的用法,后续可能还会补充,欢迎在评论区讨论哦!

目录
相关文章
|
5天前
|
存储 缓存 Python
深入了解python中元类和连接符的用法
【6月更文挑战第20天】本文介绍包括`type`的多重用途,内建函数的常量,模块属性,类继承的概念,元类的工作原理,可哈希对象的重要性,加权平均值的计算,以及如何找到两个列表的交集。
52 5
深入了解python中元类和连接符的用法
|
1天前
|
监控 搜索推荐 UED
用Python的pynput库追踪每一次点击和滚动
使用Python的`pynput`库可监听鼠标活动,包括点击和滚动事件。安装`pynput`后,通过`mouse.Listener`捕获鼠标事件。示例代码展示如何记录点击位置、滚动方向,并创建日志文件。通过类封装,可控制记录器的启停,并实现特定模式下的响应,如快速三连击左键自动打开网站。动手实践,将理论转化为实用工具。
|
2天前
|
XML 数据格式 Python
Python模块导入包括:`import math`导入标准库
【6月更文挑战第23天】Python模块导入包括:`import math`导入标准库,`from math import sqrt`导入单个函数,`import numpy as np`给模块取别名,`from random import *`导入所有(不推荐),`import xml.etree.ElementTree as ET`导入子模块,`import_module('pandas')`按需导入,和使用相对路径如`from .module import func`处理项目结构。记得调整`sys.path`以包含自定义模块路径。
13 4
|
2天前
|
数据采集 机器学习/深度学习 数据可视化
利用Python和Pandas库构建高效的数据分析流程
在数据驱动的时代,数据分析已成为企业决策的关键环节。本文介绍如何利用Python编程语言及其强大的数据分析库Pandas,构建一套高效且可扩展的数据分析流程。与常规的数据分析流程不同,本文不仅涵盖数据加载、清洗、转换等基础步骤,还强调数据可视化、模型探索与评估等高级分析技巧,并通过实际案例展示如何在Python中实现这些步骤,为数据分析师提供一套完整的数据分析解决方案。
|
4天前
|
开发框架 Python
Python的`pygame`库用于2D游戏开发,涵盖图形、音频和输入处理。
【6月更文挑战第21天】Python的`pygame`库用于2D游戏开发,涵盖图形、音频和输入处理。要开始,先通过`pip install pygame`安装。基本流程包括:初始化窗口、处理事件循环、添加游戏元素(如玩家和敌人)、响应用户输入、更新游戏状态及结束条件。随着项目发展,可逐步增加复杂性。
6 1
|
6天前
|
存储 JSON JavaScript
Python教程:一文了解Python中的json库
JSON(JavaScript Object Notation)是一种轻量级数据交换格式,易于人类阅读和编写,也易于计算机解析和生成。在Python中,JSON通常用于数据交换和存储,因为它与Python的字典和列表类型相似。
23 2
|
6天前
|
存储 索引 Python
Python教程:深入了解 Python 中 Dict、List、Tuple、Set 的高级用法
Python 中的 Dict(字典)、List(列表)、Tuple(元组)和 Set(集合)是常用的数据结构,它们各自有着不同的特性和用途。在本文中,我们将深入了解这些数据结构的高级用法,并提供详细的说明和代码示例。
12 2
|
5天前
|
Python
NumPy 双曲函数与集合操作详解
NumPy 双曲函数 NumPy 提供了 sinh()、cosh() 和 tanh() 等 ufunc,它们接受弧度值并生成相应的双曲正弦、双曲余弦和双曲正切值。
|
3天前
Python----end、sep的用法
Python----end、sep的用法
10 0
|
1月前
|
程序员 开发工具 索引
图解Python numpy基本操作
图解Python numpy基本操作