numpy数组的分割与合并

合并

np.newaxis

import numpy as np
a=np.array([1,2,3])[:,np.newaxis]#变成列向量
b=np.array([4,5,6])[:,np.newaxis]#变成列向量
c=np.vstack((a,b)) #vertical  stack
d=np.hstack((a,b))#horizontal stack
print(a.shape ,b.shape)   # ((3,1),(3,1))
print(c.shape)    # (6,1)
print(d.shape)    # (3,2)
np.concatenate
import numpy as np
a=np.array([1,2,3])[:,np.newaxis]
b=np.array([4,5,6])[:,np.newaxis]
c=np.concatenate((a,b,b,a))
print(c)#按列合并
d=np.concatenate((a,b,b,a),axis=0)#设置在列上合并
print(d)
e=np.concatenate((a,b,b,a),axis=1)#设置在行上合并,3行4列
print(e)

分割

import numpy as np

a=np.arange(12).reshape((3,4))
print(a)
print(np.split(a,2,axis=1)) #   vertical纵向分2部分
print(np.split(a,3,axis=0)) #   horizontal横向分3部分
print(np.array_split(a,3,axis=1))#纵向分3部分

print(np.vsplit(a,3)) #横着分3组
print(np.hsplit(a,2)) #竖着分两组

原文地址:https://www.cnblogs.com/cpg123/p/11683343.html

时间: 2024-11-07 22:40:36

numpy数组的分割与合并的相关文章

Python numpy数组扩展效率问题

Numpy库的ndarray数组可以方便地进行各种多维数据处理工作 可是它最大的缺点就是不可动态扩展--"NumPy的数组没有这种动态改变大小的功能,numpy.append()函数每次都会重新分配整个数组,并把原来的数组复制到新数组中."(引用自http://blog.chinaunix.net/uid-23100982-id-3164530.html) 场景: 今天用ndarray处理 42000 条数据时,就遇到了数组扩展的效率问题 文件名:train.csv(后附下载) 文件大

数据分析(1) Numpy数组

Numpy的数组类被称作ndarray,通常被称作数组. 特点:元素类型相同,数量事先给定. 1 创建方式 (1)array( ):接收一个普通的Python序列(元组与列表并无区别),并将其转换为ndarray: # 使用列表创建 list1 = [1, 2, 3, 4, 5] print('使用一维列表创建:\n', np.array(list1)) list2 = [[1, 2, 3], [4, 5, 6]] print('使用二维列表创建:\n', np.array(list2)) #

opencv 图像基本操作 获取图像大小、ROI操作、通道分割与合并等

opencv中的图像基本操作方法 访问和修改图像某像素点的值 函数 a=img[y,x] #获取像素点的值 img[y,x]=b #修改像素点的值 实例 import cv2 as cv import numpy as np img = cv.imread('baby.png') px = img[50,100] print(px) # output:[76,94,94] # 只获取图像蓝色通道的值 img[50,100] = [0,0,255] print(px) # output:[0,0,

c语言文件分割与合并

一.综述 c语言操作文件通过文件指针FILE*,每个要操作的文件必须打开然后才能读写. 注意事项: @1分割与合并文件最好使用二进制模式即"rb"或"wb",这样可以操作任何类型文件 @2FILE 指针一定要进行判空操作即看F == NULL成立不 @3文件用完必须关闭,释放系统资源,因为文件会分配缓冲区,占据内存 1.包含头文件 _CRT_SECURE_NO_WARNINGS表示关闭安全检查 1 #define _CRT_SECURE_NO_WARNINGS 2

numpy 数组对象

numpy 数组对象NumPy中的ndarray是一个多维数组对象,该对象由两部分组成:实际的数据,描述这些数据的元数据# eg_v1 import numpy as np a = np.arange(5) # 创建一个包含5个元素的NumPy数组a,取值分别为0~4的整数 print (a) # [0 1 2 3 4] print (a.dtype) # dtype 查看数组的数据类型 # int32 (数组a的数据类型为int32) # 确定数组的维度(数组的shape属性返回一个元组(tu

将两个数组A和B合并为一个有序的C数组

1 # include<iostream> 2 # include<cstdio> 3 # include<algorithm> 4 using namespace std; 5 void Sort(int a[],int b[],int c[],int n,int m) 6 { 7 int A=0, B=0, C=0; 8 while(A<n && B<m) 9 { 10 if(a[A] <= b[B]) 11 c[C++] = a[

numpy数组、向量、矩阵运算

可以来我的Github看原文,欢迎交流. https://github.com/AsuraDong/Blog/blob/master/Articles/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/numpy%E6%95%B0%E7%BB%84%E3%80%81%E5%90%91%E9%87%8F%E3%80%81%E7%9F%A9%E9%98%B5%E8%BF%90%E7%AE%97.md import numpy as np import pandas as pd

文件分割与合并(Java)

一.文件分割示意图 二.文件合并示意图 方式一:通过文件追加的方式 方式二:通过SequenceInputStream对其他输入流的逻辑串联. 测试RandomAccessFile随机访问文件 package FileSplitMerge; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import IOOthers.FileUtil; /** * RandomAccessFil

numpy数组广播

numpy数组的广播功能强大,但是也同时让人疑惑不解,现在让我们来谈谈其中的原理. 广播原则: 如果两个数组的后缘维度(即:从末尾开始算起的维度)的轴长相符或其中一方的长度为1,则认为它们是广播兼容的,广播会在缺失和(或)长度为1的轴上进行. 上面的原则很重要,是广播的指导思想,下面我们来看看例子. 1.其实在最简单的数组与标量数字之间的运算就存在广播,只是我们把它看作理所当然了. 2.再看下一个例子,这个大家都会一致认为这是广播了 根据广播原则:arr1的shape为(4,1),arr2的sh