Numpy:np.vstack()&np.hstack() flat/flatten
2024-10-01 03:22:08
一 . np.vstack: 按垂直方向(行顺序)堆叠数组构成一个新的数组
In[3]:
import numpy as np In[4]:
a = np.array([[1,2,3]])
a.shape
Out[4]:
(1, 3) In [5]:
b = np.array([[4,5,6]])
b.shape
Out[5]:
(1, 3) In [6]:
c = np.vstack((a,b)) # 将两个(1,3)形状的数组按垂直方向叠加
print(c)
c.shape # 输出形状为(2,3)
[[1 2 3]
[4 5 6]]
Out[6]:
(2, 3) In [7]:
a = np.array([[1],[2],[3]])
a.shape
Out[7]:
(3, 1) In [9]:
b = np.array([[4],[5],[6]])
b.shape
Out[9]:
(3, 1) In [10]:
c = np.vstack((a,b)) # 将两个(3,1)形状的数组按垂直方向叠加
print(c)
c.shape # 输出形状为(6,1)
[[1]
[2]
[3]
[4]
[5]
[6]]
Out[10]:
(6, 1)
二 . np.hstack:按水平方向(列顺序)堆叠数组构成一个新的数组
In[11]:
a = np.array([[1,2,3]])
a.shape
Out[11]:
(1, 3) In [12]:
b = np.array([[4,5,6]])
b.shape
Out[12]:
(1, 3) In [16]:
c = np.hstack((a,b)) # 将两个(1,3)形状的数组按水平方向叠加
print(c)
c.shape # 输出形状为(1,6)
[[1 2 3 4 5 6]]
Out[16]:
(1, 6) In [17]:
a = np.array([[1],[2],[3]])
a.shape
Out[17]:
(3, 1)
In [18]:
b = np.array([[4],[5],[6]])
b.shape
Out[18]:
(3, 1)
In [19]:
c = np.hstack((a,b)) 将两个(3,1)形状的数组按水平方向叠加
print(c)
c.shape # 输出形状为(3,2)
[[1 4]
[2 5]
[3 6]]
Out[19]:
(3, 2)
三 . numpy.ndarray.flat/flatten
1. flat返回的是一个迭代器,可以用for访问数组每一个元素
import numpy as np
a = np.arange(4).reshape(2,2)
print(a)
for i in a.flat:
print(i)
#迭代器可以用list进行输出
print(list(a.flat))
print(type(a.flat))#返回类型为 numpy.flatiter
#可以用索引对迭代器进行引号
a.flat[3]
#输出:
[[0 1]
[2 3]]
0
1
2
3
[0, 1, 2, 3]
<class 'numpy.flatiter'>
3
2. ndarray.flatten(order=’C’)
Return a copy of the array collapsed into one dimension.
将数组的副本转换为一维,并返回
可选参数,order:{‘C’,‘F’,‘A’,‘K’}
- ‘C’:C-style,行序优先
- ‘F’:Fortran-style,列序优先
- ‘A’:if a is Fortran contiguous in memory ,flatten in column_major order
- ‘K’:按照元素在内存出现的顺序进行排序
默认为’C’
a = np.array([[4,5],[4,9]])
#默认按行转换
b= a.flatten()
print(b)
#换成列来划分
c = a.flatten('F')
print(c)
[4 5 4 9]
[4 4 5 9]
最新文章
- 从零开始编写自己的C#框架(17)——Web层后端首页
- 同比 VS 环比
- C#操作XML之读取数据
- Analysis Services OLAP 概述2
- jquery easy ui 1.3.4 窗口,对话框,提示框(5)
- log4net使用简明教程
- json网页预览插件
- Django数据库配置
- mysql的SQL_CALC_FOUND_ROWS 使用
- 日积月累:EditText软键盘的显示和隐藏
- chrome可以登陆账号的hosts文件
- 发布到NPMJS
- C语言程序设计第三次作业——选择结构(1)
- 阿里云RDS for MySQL 快速入门——笔记
- VGG19模型训练+读取
- MAC帧和PPP帧区别
- 【vue】vue-router路径无法正确跳转
- Spark mllib多层分类感知器在情感分析中的实际应用
- 目标检测框架py-faster-rcnn修改anchor_box
- Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds