np.reshape()
np.reshape()
:在不改变数据的条件下修改形状。
numpy.reshape(arr, newshape, order='C')
参数:
arr
:要修改形状的数组newshape
:整数或者整数数组,新的形状应当兼容原有形状order
:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'k' -- 元素在内存中的出现顺序。
示例:
import numpy as np
a = np.arange(6).reshape((3, 2))
print(a)
b = np.reshape(a, (2, 3), order='F')
print(b)
[[0 1]
[2 3]
[4 5]]
[[0 4 3]
[2 1 5]]
当维度值传 -1
时:
# 将 8 个元素的 1D 数组转换为 2x2 元素的 3D 数组
c = np.array([1, 2, 3, 4, 5, 6, 7, 8])
d = c.reshape(2, 2, -1) # 指定2行2列,第三维度用-1,会自动计算
print(d)
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
注意:reshape
生成的新数组与原数组公用一个内存。不管改变新数组还是原数组的元素,另一个数组也会改变。
d[0] = 8
print(d)
print(c)
[[[8 8]
[8 8]]
[[5 6]
[7 8]]]
[8 8 8 8 5 6 7 8]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)