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不会改变维度,所有要求相叠加的所有数组维度一样
到此这篇关于numpy数组叠加的实现示例的文章就介绍到这了,更多相关numpy数组叠加内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python 中的requirements.txt 文件的使用详情
这篇文章主要介绍了python 中的requirements.txt文件的使用详情,文章围绕主题展开详细内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下2022-05-05python基础教程之popen函数操作其它程序的输入和输出示例
popen函数允许一个程序将另一个程序作为新进程启动,并可以传递数据给它或者通过它接收数据,下面使用示例学习一下他的使用方法2014-02-02Django表单提交后实现获取相同name的不同value值
这篇文章主要介绍了Django表单提交后实现获取相同name的不同value值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-05-05
最新评论