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
0
投稿
猜你喜欢
- 本文实例讲述了Python实现Tab自动补全和历史命令管理的方法。分享给大家供大家参考。具体分析如下:Python的startup文件,即环
- 本文实例讲述了Python实现从订阅源下载图片的方法。分享给大家供大家参考。具体如下:这段代码是基于python 3.4实现的,和pytho
- 一、 [::-1]import numpy as npimport numpy as npx = np.arange(1, 6)print(
- 支持向量机常用于数据分类,也可以用于数据的回归预测1、Question?我们经常会遇到这样的问题,给你一些属于两个类别的数据(如子图1),需
- 前言要想学好爬虫,必须把基础打扎实,之前发布了两篇文章,分别是使用XPATH和requests爬取网页,今天的文章是学习Beautiful
- 如果说哪个开源程序不需要介绍大家就认识,那一定是phpMyAdmin,一款流行的MySQL数据库的Web管理界面。MySQL是全球最流行的W
- 迭代器迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引
- 前言本文给大家详细介绍了解决php-fpm.service not found问题的相关内容,文中介绍的非常详细,下面来一起看看详细的介绍:
- 在python中使用open函数对文件进行处理。1.open()python打开文件使用open()函数,返回一个指向文件的指针。该函数常用
- Numpy随机矩阵: np.random.randn(d0, d1, d2, ...)矩阵大小与形状: np.ndarray.size 与
- 大家都知道Python运行速度很慢,但是轮子多,因此用户十分广泛,在各种领域上都能用到Python,但是最头疼的还是,解决运行速度问题,因此
- 这篇文章主要介绍了python scrapy重复执行实现代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 具体代码如下所示:<?php//在子类或类内部用“::”调用本类或父类时,不是静态调用方法,而是范围解析操作符。class Paren
- 无意中看到一段用Tkinter库写的放烟花的程序,就跟着跑了一遍。设计理念:通过让画面上一个粒子分裂为X数量的粒子来模拟 * 效果。粒子会发生
- 浏览器的简单操作# 导入webdriver模块# 创建driver对象,指定Chrome浏览器driver = webdrive
- Ajax在网上已经叫喊了好几年了, 但是还是有很多像我这样的新手没掌握它, 像这样能改善交互体验的技术不会用真是很遗憾呢. 所以我就把我学到
- 先安装第三方库:pip install requestsdef isConnected(): import requ
- 统计在线人数是实时的吗?实现起来也比较简单,见下列代码:global.asa<SCRIPT LANGUAGE="V
- 目录通过python的tkinter实现简单的注册登录代码截图登录页面注册页面个人主页修改个人信息失败修改个人信息成功重新登录twb总结通过
- 从http://freeapi.ipip.net和http://ip-api.com/json/这两个网站提供的免费调用接口查询IP地址归属