Numpy的学习4-array的合并
import numpy as np A = np.array([1, 1, 1])
B = np.array([2, 2, 2]) print(np.vstack((A, B))) # vertical(垂直的) stack(堆)
"""
[[1,1,1]
[2,2,2]]
""" C = np.vstack((A,B))
print(A.shape,C.shape)
# 从打印出的结果来看,A仅仅是一个拥有3项元素的数组(数列),而合并后得到的C是一个2行3列的矩阵。
# (3,) (2,3)
# vertical stack本身属于一种上下合并
# 转置操作 '''
horizontal stack 表示水平线合并 也就是左右合并
'''
D = np.hstack((A,B)) # horizontal stack print(D)
# [1,1,1,2,2,2] print(A.shape,D.shape)
# (3,) (6,) '''
说完了array的合并,稍微提及一下转置的操作
当是一维的数组的时候 就无法实现转置 因为他不是一个矩阵
此时就要借助其他函数操作进行转置
''' print(A[np.newaxis,:]) #可以看到加一个newaxis表示的是加一个维度
# [[1 1 1]] print(A[np.newaxis,:].shape)
# (1,3) 表示一行三列的矩阵 print(A[:,np.newaxis]) #可以看到newaixs表示的就是加1
"""
[[1]
[1]
[1]]
""" print(A[:,np.newaxis].shape)
# (3,1) '''
结合上面所学的知识可以把它综合起来
'''
print('----分隔-----')
A = np.array([1, 1, 1])[:, np.newaxis]#变成一个三行1列的矩阵
B = np.array([2, 2, 2])[:, np.newaxis] C = np.vstack((A, B)) # vertical stack 垂直合并 6行1列
D = np.hstack((A, B)) # horizontal stack 水平合并 3行2列 print(D)
"""
[[1 2]
[1 2]
[1 2]]
""" print(A.shape, D.shape)
# (3,1) (3,2) '''
当你的合并操作需要针对多个矩阵或序列时,借助concatenate函数可能会让你使用起来比前述的函数更加方便:
涉及到多个矩阵和序列的操作
''' C = np.concatenate((A,B,B,A),axis=0) print(C)
"""
array([[1],
[1],
[1],
[2],
[2],
[2],
[2],
[2],
[2],
[1],
[1],
[1]])
""" D = np.concatenate((A,B,B,A),axis=1) print(D)
"""
array([[1, 2, 2, 1],
[1, 2, 2, 1],
[1, 2, 2, 1]])
"""
np.vstack((a,b))将数组上下合并
np.hstack((a,b))将数组左右合并
可以有选择性的对数组进行合并操作,输入的参数是一个元组
A[np.newaxis,:]表示增加一个新的维度,因为知道一位数组不是矩阵,无法进行转置
当有多个矩阵或者数列需要合并的时候选择concatenate,可选axis参数
Numpy的学习4-array的合并的更多相关文章
- NUMPY的学习之路(2)——索引,合并,分割,赋值
一.索引 1.1numpy数组的转置 A=np.arange(3,15).reshape(3,4) print(A) print(A[2][0]) print(A[2,1]) print(A[2,:] ...
- 数据挖掘---Numpy的学习
什么是Numpy NumPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵(任意维度的数据处理),比Python自身的嵌套列表(nested list structure ...
- Numpy基础学习与总结
Numpy类型学习 1.数组的表示 import numpy as np In [2]: #numpy核心是高维数组,库中的ndarray支持多维数组,同时提供了数值运算,可对向量矩阵进行运算 In ...
- NumPy 数组学习手册·翻译完成
原文:Learning NumPy Array 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 ...
- Gulp学习指南之CSS合并、压缩与MD5命名及路径替换(转载)
本文转载自: Gulp学习指南之CSS合并.压缩与MD5命名及路径替换
- Numpy 基础学习
numpy.array() 功能:创建一个数据 vector = numpy.array([1,2,3,4]) matrix = numpy.array([1,2,3,4],[11,12,13,14] ...
- Leetcode#88. Merge Sorted Array(合并两个有序数组)
题目描述 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m ...
- 【Python 数据分析】module 'numpy' has no attribute 'array'
安装好Numpy模块后,开始做了几个小测试都可以运行,但是当我创建numpy.py这个文件后 numpy.py import numpy y = numpy.array([[11,4,2],[2,6, ...
- LevelDB 学习笔记2:合并
LevelDB 学习笔记2:合并 部分图片来自 RocksDB 文档 Minor Compaction 将内存数据库刷到硬盘的过程称为 minor compaction 产出的 L0 层的 sstab ...
随机推荐
- NO.A.0010——Windows常用快捷键使用教程
小娜操作: Win + C: 打开Cortana微软小娜,并开始聆听...... Win + Q: 打开Cortana: Win + S: 打开Cortana:sdfghjkrtgyh XBOX操作: ...
- Word 2013中如何直接调用MathType
相信有很多用户已经发现在使用Word 2013编辑文档时MathType无法直接调用,但是点击文档中的公式时能够跳出MathType公式编辑窗口,那么这是怎么回事呢?其实,这一问题也不是没有办法解决的 ...
- 使用Camtasia制作冰雪奇缘视频
冰雪奇缘的精良制作,以及场景的华丽,让很多女孩子都很喜欢.对于其中美丽的冰雪场景,我们还可以使用Camtasia(Windows系统)教程录制软件来做冰雪奇缘视频. Camtasia教程录制软件是一款 ...
- ppt-1 操作界面与基本操作
1.Ctrl+N快速建立新文档 2.新模板:文件--新建--可免费搜索.下载新模板 3.恢复未保存的演示文稿 文件--打开(首先看到的是近期使用的演示文稿,)--鼠标滚动至末尾,可看到"恢复 ...
- H5系列之新input
虽说H5 新填了几个很方便的input 类型,但是吧,想法是美好的,但是现实很残酷,兼容性不太好.基本只有google浏览器能用.但是既然出了,那么就要了解他,知道有这么一个东西就好. input类型 ...
- jQuery 第十章 工具方法-高级方法 $.ajax() $.Callbacks() .....
$.ajax() $.Callbacks() $.Deferred() .then() $.when() ---------------------------------------------- ...
- python 如何跳过异常继续执行
使用try...except...语句,类似于if...else...,可以跳过异常继续执行程序,这是Python的优势 用法如下: 1 2 3 4 5 6 try: # 可能会 ...
- 【模板】【P3402】可持久化并查集
(题面来自洛谷) 题目描述 n个集合 m个操作 操作: 1 a b 合并a,b所在集合 2 k 回到第k次操作之后的状态(查询算作操作) 3 a b 询问a,b是否属于同一集合,是则输出1否则输出0 ...
- 如何解析 redis 的 rdb 文件
目录 安装工具 解析 redis 的 rdb 文件 命令行工具使用,先看 --help 生成内存报告 使用参数过滤想要的数据 比较两个 rdb 文件 查看一个 key 的内存使用情况 常见问题 FAQ ...
- Prafab Varient 预制体变体
预制体与类的类比思维: 预制体相当于一个类,当它应用到场景当中,就是一个实例. 类的继承特性也充分运用到预制体中,即预制体变体. 相似预制体的需求场景: 例子1:多个游戏的窗口 ...