计算机系统应用教程网站

网站首页 > 技术文章 正文

「每天3分钟学Python」多维数组flatten成一维

btikc 2024-10-12 10:49:52 技术文章 2 ℃ 0 评论

01

基于 Python 封装和扩展的Numpy,具有更好地数值计算能力。可以看做是一个小型的 Matlab 数值计算库。这无疑让它变得强大,深度学习计算框架 TensorFlow 可以实现对 Numpy 的无缝衔接,更是体现了 TF 对Python的亲缘性。

今天花三分钟主要介绍利用 Numpy 的 flatten 接口,实现 降维。

02

ndarray.flatten()

ndarray 是 Numpy 的主要数据结构,是对多维数组的封装类。

举例:

x = np.arange(0, 16).reshape(2, 2, 4)

array([[[ 0, 1, 2, 3],
 [ 4, 5, 6, 7]],

 [[ 8, 9, 10, 11],
 [12, 13, 14, 15]]])

x1 = x.flatten()

结果:

array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])

OK

可以看出,flatten 默认是按照 row-style 降为1维的,这是 c语言风格。

如果我想按照 column-style 降为1维呢? 这是 Fortran 语言风格。 设置 参数 order = 'F' ,也就是 Fortran 语言的首字符。

x2 = x.flatten(order='F')

x2

array([ 0, 8, 4, 12, 1, 9, 5, 13, 2, 10, 6, 14, 3, 11, 7, 15])

OK,flatten 讲清楚了。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表