• Numpy:数组维度转换:ravel()、shape=()、reshape()、np.tile()


    一、多维转一维,一维转多维,多维转多维

    原数组.ravel()  :多维转一维

    原数组.shape=(转换为x行,转换为y列)  :一维/多维 转 多维/一维

    原数组.reshape(转换为x行,转换为y列) :一维/多维 转 多维/一维

    import numpy as np
    print("----------------np.floor()向下取整-------------------------")
    a = np.floor(10*np.random.random((3,4)))   # np.random.random((3,4)表示在-1和1之间随机取值,构建3行4列的数组
    print(a)
    print(a.shape)
    
    print("-----------原数组.ravel():将数组拉平为一维数组-------------")
    print (a.ravel())    # 将a数组拉平为一维数组
    
    
    print("-----a.shape = (6, 2)------")
    a.shape = (6, 2)     # 将a数组从一维转换成6行2列的数组
    print (a) 
    
    print("------a.reshape(2,6)-------")
    b= a.reshape(2,6)   # 使用a.reshape()需要有变量接收,否则打印不出来,a.shape=(),不需要变量接收也能打印出来
    print("b=","
    ",b)
    
    
    print("---------a.T---------")
    print (a.T)          # 对数组a进行转置
    
    print("---------a.reshape(3,-1)---------")
    d = a.reshape(3,-1)   # 这里列的位置写-1表示:将数组a转变为3行,列的个数根据总元素个数自动转换,因为a总元素有12个,所以此处会转为4列
    print("d=","
    ",d)

    结果图:

    二、矩阵变形(宽高变形):np.tile( 原数组 , ( 转换为x行,转换为y列 ) )

    import numpy as np
    
    print("---------------------一维数组变形---------------------------")
    a = np.arange(0, 40, 10)  # 构建一个从0开始,40结束,步长为10的一维矩阵
    print("a=",a)
    print("-----")
    
    b = np.tile(a, (3, 5))   # 将原来矩阵看出一个整体,(3,5)表示以这个整体会基础构建3行,5列的矩阵
    print (b)
    print(" ")
    
    print("---------------------二维数组变形-------------------------------")
    a = np.array([[1,2,3],[4,5,6]])
    print("a=","
    ",a)
    print("-----")
    
    b=np.tile(a,(3,4))   # 将原来矩阵看出一个整体,(3,4)表示以这个整体会基础3行,4列的矩阵
    print(b)

    结果图:

  • 相关阅读:
    Linux.NET学习手记(1)
    初识Entity Framework CodeFirst(3)
    初识Entity Framework CodeFirst(2)
    Linux.NET学习手记(3)
    Linux.NET学习手记(2)
    第四次博客作业结对项目
    [转]制作BlogWriter 博客客户端
    【整理】C# WinFrom 中如何txt内容与dataGridView互动
    将字符串给datetimepicker赋值
    (转)koograExcel文件读取利器的使用
  • 原文地址:https://www.cnblogs.com/wodexk/p/10309431.html
Copyright © 2020-2023  润新知