龙空技术网

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

程序员zhenguo 195

前言:

如今兄弟们对“python写二维数组”大约比较重视,朋友们都想要了解一些“python写二维数组”的相关内容。那么小编在网上搜集了一些对于“python写二维数组””的相关资讯,希望咱们能喜欢,大家一起来学习一下吧!

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 讲清楚了。

标签: #python写二维数组 #python 二维数组取值