shape:返回 w h
data = np.array([[1, 2], [3, 4]]) shape = data.shape print(shape) # (2, 2)
size:返回 w x h
print(np.ones((3, 4)).size) # 12
resize and reshape
都有两种用法 np.resize x.resize np.reshape x.reshape
四种方法里 只有 x.resize 会改变原数据的形状
reshape 可自动计算形状,resize 不行
x = np.ones((2, 3)) x1 = np.resize(x, (1, 6)) print(x1) # [[1. 1. 1. 1. 1. 1.]] x2 = np.reshape(x, (-1, )) # reshape 可以自动计算形状 print(x2) # [1. 1. 1. 1. 1. 1.] x3 = x.reshape(-1, ) print(x3) # [1. 1. 1. 1. 1. 1.] print(x) # x shape 没变 # [[1. 1. 1.] # [1. 1. 1.]] x4 = x.resize(6, ) # x shape 变了 print(x4) # None print(x) # [1. 1. 1. 1. 1. 1.]
flatten and ravel
二者都是把数据 展开,拉成一维,区别在于 flatten 类似于 深拷贝,ravel 类似于 浅拷贝
data = np.array([[1, 2], [3, 4]]) ################# 展开 ################# ######### flatten ######### ### flatten 类似于深拷贝,改变 展开后的 值 不会影响 原值 data1 = data.flatten() print(data1) # [1 2 3 4] data2 = data.flatten('F') print(data2) # [1 3 2 4] data3 = data.flatten('C') ### 默认为 C print(data3) # [1 2 3 4] data4 = np.reshape(data, (4, )) ### 等价 print(data4) # [1 2 3 4] ### vs ravel data3[1] = 1000 print(data3) # [ 1 1000 3 4] print(data) # [[1 2] ### 原值没变 # [3 4]] ######### ravel ######### ### reval 类似于浅拷贝,改变 展开后 的值 会影响 原值 ### reval 也有 F C 参数 data_new = data.ravel() print('data_new is', data_new) # data_new is [1 2 3 4] ### vs flatten data_new[1] = 963 print(data_new) # [ 1 963 3 4] print(data) # [[ 1 963] ### 原值变了 # [ 3 4]]
transpose
将 多个维度进行 一次性重排,类似 tensor 的 permute
import numpy as np data = np.random.randn(3, 5, 6) print(data.shape) # (3, 5, 6) datan = data.transpose(2, 0, 1) print(datan.shape) # (6, 3, 5)
参考资料:
https://blog.csdn.net/liuweiyuxiang/article/details/78220080 numpy的ravel() 和 flatten()函数
分类:
Python 数据分析模块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2019-03-02 tensorflow-softmax