分割数组

函数

数组及操作

split

将一个数组分割为多个子数组

hsplit

将一个数组水平分割为多个子数组(按列)

vsplit

将一个数组垂直分割为多个子数组(按行)

numpy.split 函数沿特定的轴将数组分割为子数组,格式如下:

numpy.split(ary, indices_or_sections, axis)

参数说明:

ary:被分割的数组

indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置(左开右闭)

axis:设置沿着哪个方向进行切分,默认为 0,横向切分,即水平方向。为 1 时,纵向切分,即竖直方向。

实例一:split分割

import numpy as np

a = np.arange(9)
print ('第一个数组:')
print (a)
print ('\n') print ('将数组分为三个大小相等的子数组:')
b = np.split(a,3)
print (b)
print ('\n') print ('将数组在一维数组中表明的位置分割:')
b = np.split(a,[4,7])
print (b)

 输出结果为:

第一个数组:[0 1 2 3 4 5 6 7 8]

将数组分为三个大小相等的子数组:[array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]

将数组在一维数组中表明的位置分割:[array([0, 1, 2, 3]), array([4, 5, 6]), array([7, 8])]

axis 为 0 时在水平方向分割,axis 为 1 时在垂直方向分割:

实例二:默认分割(水平分割)

import numpy as np

a = np.arange(16).reshape(4, 4)
print('第一个数组:')
print(a)
print('\n') print('默认分割(0轴):')
b = np.split(a,2)
print(b)
print('\n') print('沿水平方向分割:')
c = np.split(a,2,1)
print(c)
print('\n') print('沿水平方向分割:')
d= np.hsplit(a,2)
print(d)

 输出结果为:

第一个数组:[[ 0  1  2  3]

[ 4  5  6  7]

[ 8  9 10 11]

[12 13 14 15]]

默认分割(0轴):[array([[0, 1, 2, 3],

[4, 5, 6, 7]]), array([[ 8,  9, 10, 11],

[12, 13, 14, 15]])]

沿水平方向分割:[array([[ 0,  1],

[ 4,  5],

[ 8,  9],

[12, 13]]), array([[ 2,  3],

[ 6,  7],

[10, 11],

[14, 15]])]

沿水平方向分割:[array([[ 0,  1],

[ 4,  5],

[ 8,  9],

[12, 13]]), array([[ 2,  3],

[ 6,  7],

[10, 11],

[14, 15]])]

numpy.hsplit 函数用于水平分割数组,通过指定要返回的相同形状的数组数量来拆分原数组。

实例三:沿垂直轴分割

import numpy as np

harr = np.floor(10 * np.random.random((2, 6)))

print ('原array:')
print(harr) print ('拆分后:')
print(np.hsplit(harr, 3))

 输出结果为:

原array:[[4. 7. 6. 3. 2. 6.]

[6. 3. 6. 7. 9. 7.]]

拆分后:[array([[4., 7.],

[6., 3.]]), array([[6., 3.],

[6., 7.]]), array([[2., 6.],

[9., 7.]])]

numpy.vsplit 沿着垂直轴分割,其分割方式与hsplit用法相同。

实例四:竖直分割

import numpy as np

a = np.arange(16).reshape(4,4)

print ('第一个数组:')
print (a)
print ('\n') print ('竖直分割:')
b = np.vsplit(a,2)
print (b)

 输出结果为:

第一个数组:[[ 0  1  2  3]

[ 4  5  6  7]

[ 8  9 10 11]

[12 13 14 15]]

竖直分割:[array([[0, 1, 2, 3],

[4, 5, 6, 7]]), array([[ 8,  9, 10, 11],

[12, 13, 14, 15]])]

Python numpy数组操作(分割数组)的更多相关文章

  1. ES6-新增的数组操作,数组解构,forEach,fillter,some.map的数组遍历,数组转换字符串

    ES6-新增的数组操作 // es6数组格式 let json = { '0' : 'anan', '1' : 'anani', '2' : 'anania', length:3 } //es6 把数 ...

  2. JavaScript jQuery 中定义数组操作及数组操作

    1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象 Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维 ...

  3. Python Numpy线性代数操作

    Python Numpy线性代数函数操作 1.使用dot计算矩阵乘法 import numpy as np from numpy import ones from __builtin__ import ...

  4. PHP数组操作——获取数组最后一个值的方法

    php开发过程中,可能经常需要对取出的数组要获取数组的最后健或值.在这里总结了三个方法,并且跟据他们三个方法在一些情况下如何使用的条件限制进行了说明. <?php $array=array(1, ...

  5. js数组操作-打乱数组

    <style> html, body { margin: 0; padding: 0;} div span { display: inline-block; width: 25px; he ...

  6. Scala编程入门---数组操作之数组转换

    使用yield和函数式编程转换数组 //对Array进行转换,获取的还是Aarry val a = Array(1,2,3,4,5) val a2 = for(ele <- a) yield e ...

  7. Scala 数组操作之数组转换

    使用yield和函数式编程转换数组 // 对Array进行转换,获取的还是Array val a = Array(1, 2, 3, 4, 5) val a2 = for (ele <- a) y ...

  8. Numpy数组操作

    """ Numpy 数组操作 修改数组形状 函数 描述 reshape 不改变数据的条件下修改形状 flat 数组元素迭代器 flatten 返回一份数组拷贝,对拷贝所做 ...

  9. python -- numpy 基本数据类型,算术运算,组合,分割 函数

    0 NumPy数组 NumPy数组:NumPy数组是一个多维数组对象,称为ndarray.其由两部分组成: 实际的数据 描述这些数据的元数据 NumPy数组属性: ndim(纬数,x,y 2),sha ...

  10. PHP内核探索之变量(4)- 数组操作

    上一节(PHP内核探索之变量(3)- hash table),我们已经知道,数组在PHP的底层实际上是HashTable(链接法解决冲突),本文将对最常用的函数系列-数组操作的相关函数做进一步的跟踪. ...

随机推荐

  1. 密码加密bcrypt

  2. docker 容器ip查看及 网络配置区别

    本文为博主原创,未经允许不得转载: 1. 查看容器ip: 方法一:查看所有容器的ip docker inspect --format='{{.Name}} - {{range .NetworkSett ...

  3. APB Slave Mux

    基于APB slave mux我们可以快速地将多个apb slave连接在APB上面.在实际的设计当中都是采用这样的方式连接多个APB slave的 DECODE4BIT - 可以理解为master接 ...

  4. HanLP — 感知机(Perceptron)

    感知机(Perceptron)是一个二类分类的线性分类模型,属于监督式学习算法.最终目的: 将不同的样本分本 感知机饮食了多个权重参数,输入的特征向量先是和对应的权重相乘,再加得到的积相加,然后将加权 ...

  5. TiDB恢复部分表的方式方法

    TiDB恢复部分表的方式方法 背景 今天同事告知误删了部分表. 因为是UAT准生产的环境, 所以仅有每天晚上11点的备份处理. 同时告知 昨天的数据也可以. 得到认可后进行了 TiDB的单表备份恢复. ...

  6. 【转帖】Linux查看二进制文件:一招制敌(linux二进制查看文件)

    https://www.dbs724.com/146055.html 一招制敌:学会Linux查看二进制文件 在Linux操作系统中,二进制文件是一种常见的文件类型.如果你想深入了解一个二进制文件,可 ...

  7. [转帖] q命令-用SQL分析文本文件

    https://www.cnblogs.com/codelogs/p/16060830.html 简介# 在Linux上分析文本文件时,一般会使用到grep.sed.awk.sort.uniq等命令, ...

  8. [转帖]一个轻量的Linux运维监控脚本

    https://zhuanlan.zhihu.com/p/472040635 写在前面 我的需求 嗯,有几台很老的机器,上面部署的几个很老的应用 我需要每周对机器上的一些内存,磁盘,线程,应用和数据库 ...

  9. [转帖]Linux:CPU频率调节模式以及降频方法简介

    概述 cpufreq的核心功能,是通过调整CPU的电压和频率,来兼顾系统的性能和功耗.在不需要高性能时,降低电压和频率,以降低功耗:在需要高性能时,提高电压和频率,以提高性能. cpufreq 是一个 ...

  10. 【转帖】使用 LuaRocks 安装 Apache APISIX 依赖项时,为什么会导致超时、安装缓慢或安装失败?

    使用 LuaRocks 安装 Apache APISIX 依赖项时,为什么会导致超时.安装缓慢或安装失败?# http://apisix.incubator.apache.org/zh/docs/ap ...