numpy_array 分割

本文介绍numpy的array分割方式


Demo.py

import numpy as np
A = np.arange(12).reshape((3, 4))
print A
#纵向分割
print(np.split(A, 2, axis=1))
#横向分割
print(np.split(A, 3, axis=0))
#错误的分割
#print(np.split(A, 3, axis=1))
# ValueError: array split does not result in an equal division
#为了解决这种情况, 我们会有下面这种方式.
#不等量的分割
#在机器学习时经常会需要将数据做不等量的分割,因此解决办法为np.array_split()
print(np.array_split(A, 3, axis=1))
#其他的分割方式
#在Numpy里还有np.vsplit()与横np.hsplit()方式可用
print(np.vsplit(A, 3)) #横向分割 等于 print(np.split(A, 3, axis=0))
# [array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
print(np.hsplit(A, 2)) #纵向分割 等于 print(np.split(A, 2, axis=1))

结果:

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2],
       [ 6],
       [10]]), array([[ 3],
       [ 7],
       [11]])]
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 本文主要是关于numpy的一些基本运算...
    SnailTyan阅读 5,795评论 0 1
  • 来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4...
    布客飞龙阅读 33,357评论 6 98
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 7,473评论 1 13
  • NumPy是Python中关于科学计算的一个类库,在这里简单介绍一下。 来源:https://docs.scipy...
    灰太狼_black阅读 5,020评论 0 5
  • 蛤蟆岁月之四:陌上青青草,有窈窕女子,君子以逑之。勇哥,遂以陌上君子自诩。与陌上君子交手诗词,几番铩羽而归。有...
    醉饮春江水阅读 1,589评论 0 1

友情链接更多精彩内容