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 ...
随机推荐
- Android系统添加key和keypad
平台:MTK 一.添加一个按键 1.在DCT tool keypad list 文件增加新按键的选项alps\mediatek\source\dct\Keypad_YuSu.cmp中添加新键,如SMS ...
- 三大Mac清理工具实用性测评,哪款好用?
相信大多数MAC用户都较为了解,Mac虽然有着许多亮点的性能,但是让用户叫苦不迭的还其硬盘空间小的特色,至于很多人因为文件堆积以及软件缓存等,造成系统空间内存不够使用的情况.于是清理工具就成为了大多数 ...
- shipyard中文版安装教程(附安装脚本)
一. Docker Shipyard是什么 ? shipyard是一个开源的docker管理平台,其特性主要包括: 支持节点动态集群,可扩展节点的规模(swarm.etcd方案) 支持镜像管理.容器管 ...
- 洛谷 P1284 三角形牧场 题解(背包+海伦公式)
题目链接 题目大意 给你 n块木板(n<=40),每块木板长度为\(l[i]<=40\) 每块木板都要用,求最大的三角形面积×100,答案直接舍去小数 题目思路 首先如果已知三条边的长度可 ...
- Feign 超时设置
问题描述 微服务之间使用 Feign 调用,偶发超时问题,配置如下: feign: client: config: default: connectTimeout: 10000 readTimeout ...
- Python中字符串使用单引号、双引号标识和三引号标识,什么是三引号?什么情况下用哪种标识?
一.三引号是指三个单引号或者三个双引号: 二.Python中字符串如果以单引号.双引号标识和三引号标识开头,则字符串结尾也必须是对应的标识,不能变更: 三.三者的异同: 1.三者都是字符串,大部分情况 ...
- 第15.20节 PyQt(Python+Qt)入门学习:QColumnView的作用及开发中对应Model的使用
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在Qt Designer的Item Views(Model-based)部件中,Colum ...
- Hbase API 多条件查询
public static ResultScanner scan(String tableName, String family, List<String> columns, List&l ...
- 谈Vite在Electron环境下吃花卷拉馒头的现象
缘起 在Electron的渲染进程中(也就是页面代码中), 我们常常使用process.env来携带一些环境变量, 比如HTTP服务地址的基质,本地静态资源的路径等 这样做主要有两个目的 一个是方便开 ...
- 一些vue项目
https://segmentfault.com/a/1190000010330905