Python使用numpy模块实现矩阵和列表的连接操作方法
作者:Together_CZ 发布时间:2023-02-17 21:05:41
标签:Python,numpy,矩阵,列表
Numpy模块被广泛用于科学和数值计算,自然有它的强大之处,之前对于特征处理中需要进行数据列表或者矩阵拼接的时候都是自己写的函数来完成的,今天发现一个好玩的函数,不仅好玩,关键性能强大,那就是Numpy模块自带的矩阵、列表连接函数,实践一下。
#!usr/bin/env python
#encoding:utf-8
from __future__ import division
'''
__Author__:沂水寒城
使用numpy模块实现矩阵的连接操作
'''
import numpy as np
def simple_test():
'''
简单的小实验
'''
sim_one,sim_two=[1,5,8,0,3,6],[11,5,8,0,3]
one_list=[[1,2,3],[1,2,1],[3,4,5],[4,5,6]]
two_list=[[5,6,7],[6,7,8],[6,7,9],[0,4,7],[4,6,0],[2,9,1],[5,8,7],[9,7,8],[3,7,9]]
three_list=[[0,4,3,7],[4,6,1,0],[2,5,9,1]]
three_list=np.array(three_list)
four_list=[[2,9,1],[5,8,7],[9,7,8],[3,7,9]]
print '对一维列表连接结果为:'
pring np.concatenate([sim_one,sim_two],axis=0)
print '对两个矩阵按行连接结果为:'
print np.concatenate([one_list,two_list],axis=0)
print '对两个矩阵按列连接结果为:'
print np.concatenate([one_list,three_list.T],axis=1)
print np.concatenate([one_list,four_list],axis=1)
if __name__ == '__main__':
simple_test()
结果如下:
[Decode error - output not utf-8]
[Decode error - output not utf-8]
[ 1 5 8 0 3 6 11 5 8 0 3]
对两个矩阵按行连接结果为:
[[1 2 3]
[1 2 1]
[3 4 5]
[4 5 6]
[5 6 7]
[6 7 8]
[6 7 9]
[0 4 7]
[4 6 0]
[2 9 1]
[5 8 7]
[9 7 8]
[3 7 9]]
对两个矩阵按列连接结果为:
[[1 2 3 0 4 2]
[1 2 1 4 6 5]
[3 4 5 3 1 9]
[4 5 6 7 0 1]]
[[1 2 3 2 9 1]
[1 2 1 5 8 7]
[3 4 5 9 7 8]
[4 5 6 3 7 9]]
[Finished in 0.5s]
np.concatenate()函数中,第一个参数为待合并的矩阵、列表,第二个参数为0则表示是按照行连接数据,为1则表示是按照列连接数据。
从上面结果可以看到对于一维列表,axis参数可以省略,对于二维列表当axis为0时也可以省略
当axis为1时,需要注意被连接的数据矩阵行数列数需要相同才行,否则会报错:
AttributeError: 'list' object has no attribute 'T'
即,当axis为1时,本质上就是将矩阵以行为基准对应行的数据直接连接即可
当axis为1时,本质上就是将矩阵以列为基准将数据以此向下堆放在一起即可
来源:https://blog.csdn.net/Together_CZ/article/details/79595844


猜你喜欢
- 实例如下所示:#!/usr/bin/python# -*- coding:utf8 -*-from selenium import webd
- 本文主要介绍了在python3.9下如何安装scrapy的方法,分享给大家,具体如下:安装命令:pip install scrapy -i
- 本文向大家分享23种JavaScript提高执行效率的小技巧、最佳实践等非常实用的内容。当然JavaScript的实用技巧不止这些,还有很多
- 本文实例为大家分享了树回归的具体代码,供大家参考,具体内容如下#-*- coding:utf-8 -*- #!/usr/bin/python
- 导言到目前为止的讨论编辑DataList的教程里,没有包含任何验证用户的输入,即使是用户非法输入— 遗漏了product的name或者负的p
- 接着上一篇学习:https://www.jb51.net/article/70528.htm七、MySQL数据库Schema设计的性能优化高
- 最近遇到了一个下载静态html报表的需求,需要以提供压缩包的形式完成下载功能,实现的过程中发现相关文档非常杂,故总结一下自己的实现。开发环境
- SQL Server 2000 的 XML 功能可以简化将现有代码作为 Web 服务提供的任务。本文集中讨论了传入和传出 Transact
- 最近,我面试了一个有五年 Web 应用程序开发经验的软件开发人员。四年半来她一直在从事 JavaScript 相关的工作,她自认为 Java
- 使用access数据库时可能用到的数据转换:类型转换涵数:函数 返回类型 expression 参数范围CBool Boolean 任何有效
- 一、map 1.基本介绍map 是 key-value 数据结构,又称为字段或者关联数组。类似其它编程语言的集合, 在编程中是经常
- 这是通过博主写的英雄联盟下载器下载的部分的英雄皮肤,可以看一下效果。每个英雄的皮肤的会自动根据英雄名称创建相应的文件夹存放。实现思路比较简单
- 写在前面很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得
- 本文实例为大家分享了使用countdown插件实现倒计时的具体代码,供大家参考,具体内容如下实现的效果如下:这里实现的是一个活动倒计时,获取
- javascript:单行注释用//呵呵呵呵;多行注释用/*hdhdhdh*/javascript中区别大小写,定义变量使用关键字var,语
- 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户的年龄,根据年龄打印不同的内容。。。Python程序中,能让计算机
- 最近开发了一个网站,大量采用了html5和css3,希望用户都以webkit内核打开页面,但是测试却发现360的以ie内核打开为推荐模式,不
- 前言plt.subplots调用后将会产生一个图表(Figure)和默认网格(Grid),与此同时提供一个合理的控制策略布局子绘图。一、只有
- 核心代码# -*- coding: utf-8 -*-'''python读取英文文件,将每个单词按照空格分开,并将每
- 1. tqdm的介绍有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以