numpy数组叠加的实现示例
作者:BruceJoneses 发布时间:2021-09-29 11:59:18
标签:numpy,数组叠加
前言
针对于一维数组的存储方式,即(n,)存储为列向量
一、创建一个array
使用np.arange()创建一个一维数组,或者np.array()将多维列表转成np格式的ndarray
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用np.r_和np.c_进行数组相加
1.对一维数组的叠加
代码如下(示例):
import numpy as np
a = np.array([1,2,3])
'''a = [1
2
3]'''
b = a.repeat(3)
'''b = [1
1
1
...
3]'''
c = np.tile(a ,3)
print(b.shape) #(9,) 列向量
print(c.shape) #(9,) 列向量
d = np.r_[b,c] #按列相加 还是列向量(只是numpy方便显示,为一行数组),还是一维
print('d:', d)
'''d: [1 1 1 2 2 2 3 3 3 1 2 3 1 2 3 1 2 3]'''
e = np.c_[b,c] #按行相加 得到(9,2)的二维数组
print('e:', e)
'''e: [[1 1]
[1 2]
[1 3]
[2 1]
[2 2]
[2 3]
[3 1]
[3 2]
[3 3]]'''
2.将数组转成二维
代码如下(示例):
a = np.array([1,2,3]).reshape(1,3) #都初始为二维数组,就可以按照显示的行列堆叠
b = a.repeat(3).reshape(1,-1)
c = np.tile(a ,3)
print(b.shape) #(1,9) 二维数组
print(c.shape) #(1,9) 二维数组
#二维之后就可按照显示的行列顺序进行叠加了
d = np.r_[b,c] #按列相加,得到(2,9)的二维数组
print('d:', d)
'''d: [[1 1 1 2 2 2 3 3 3]
[1 2 3 1 2 3 1 2 3]]'''
e = np.c_[b,c] #按行相加 得到(1,18)的二维数组
print('e:', e)
'''e: [[1 1 1 2 2 2 3 3 3 1 2 3 1 2 3 1 2 3]]'''
将数组转成二维,就可按照显示的行列进行相堆叠了
3. hstack以及vstack
a = np.array([1,2,3])
b = a.repeat(3)
c = np.tile(a ,3)
bc_h = np.hstack((b, c))
print('bc_h:',bc_h)
'''bc_h: [1 1 1 2 2 2 3 3 3 1 2 3 1 2 3 1 2 3]'''
bc_v = np.vstack((b, c))
print('bc_v:',bc_v)
'''bc_v: [[1 1 1 2 2 2 3 3 3]
[1 2 3 1 2 3 1 2 3]]'''
d = np.arange(9).reshape(1,9)
# bcd_h = np.hstack((b, c, d)) #使用hstack,维度必须相同。不相同会报错
# print('bcd_h:',bcd_h)
bcd_v = np.vstack((b, c, d))
print('bcd_v:',bcd_v)
'''bcd_v: [[1 1 1 2 2 2 3 3 3]
[1 2 3 1 2 3 1 2 3]
[0 1 2 3 4 5 6 7 8]]'''
在进行vstack叠加时,默认将一维数组元素变成了二维。
但是二维与三维叠加,二维不会变成三维。即一维可以与二维可以进行vstack
hstack不会改变维度,所有要求相叠加的所有数组维度一样
来源:https://blog.csdn.net/qq_41893964/article/details/124896945


猜你喜欢
- 有时候完全备份, 当还原的时候说不时数据库文件不让还原, 解决办法: 可以直接复制数据库文件, xxx.mdf 和 xxx.ldf (实际复
- 本章我们将介绍Django 管理工具及如何使用 Django 来创建项目,第一个项目我们以 HelloWorld 来命令项目。一、Djang
- Django 的 filter、exclude 等方法使得对数据库的查询很方便了。这在数据量较小的时候还不错,但如果数据量很大,或者查询条件
- 一、Visdom简介Visdom是由Facebook公司开发的一个进行数据可视化的Web应用程序,支持Torch、Numpy、Pytorch
- 1. filter1.1 把一个序列中的空字符串删掉例如将[‘A’, ‘&
- 问题:输出新建的DataFrame对象时,DataFrame中各列的显示顺序和DataFrame定义中的顺序不一致。例如:import pa
- 刚来这个公司,熟悉了环境,老大就开始让我做一个迁移、修改代码的工作,我想说的是,这种工作真没劲~~,看别人的代码、改别人的代码、这里改个变量
- 先说明一下为什么要将数组转换成Image类。我处理的图像是FITS (Flexible Image Transport System)文件,
- 如下所示:import pandas as pd #显示所有列pd.set_option('display.max_columns&
- 本文实例为大家分享了pyqt实现右下角弹出框的具体代码,供大家参考,具体内容如下构造函数中:self.desktop=QDesktopWid
- 一、Python下载安装1、Python官方下载地址:https://www.python.org/downloads官方下载速度太慢,你可
- 这篇文章主要介绍了微信小程序顶部导航栏可滑动并选中放大,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 实战场景经常有朋友问,学 Python 面向对象时,翻阅别人代码,会发现一个 super() 函数,那这个函数的作用到底是什么?super(
- 游戏截图动态演示源码分享state/tool.pyimport osimport jsonfrom abc import abstractm
- 不知道有没有人碰到过这样恶心的问题:两张表连接查询并limit,SQL效率很高,但是加上order by以后,语句的执行时间变的巨长,效率巨
- 除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类。因为Python中的sklearn库
- 可迭代(iterable)迭代(遍历)就是按照某种顺序逐个访问对象中的每一项。Python中有很多对象都是可以通过for语句来直接遍历的,例
- 使用本文给出的方法就可以制作出一个简单的rss阅读器了。用xmldom方法打开xml文件,如果是本地的没有问题,就是用Server.MapP
- 1在js中只有两种作用域a:全局作用域b:函数作用域在ES6之前,js是没有块级作用域。首先来解释一下什么是没有块级作用域?所以此时 是可以
- 前言如果你从事大数据工作,用Python的Pandas库时会发现很多惊喜。Pandas在数据科学和分析领域扮演越来越重要的角色,尤其是对于从