• 【Numpy学习笔记】


    Numpy学习笔记

    1. NumPy的详细教程(官网手册翻译)

    https://blog.csdn.net/xiaoxiangzi222/article/details/53084336

    2. 学习笔记

    np.array()中的参数应该是列表,或者嵌套列表,或者元组,中间的值是用逗号隔开的,而数组是用空格隔开的,中间没有逗号,这个一定得注意。

    # Ipython交互界面中数组返回的第array([[a, b, c], 
    #									[d, e, f]]) 的形式
    # 而打印出来时,则输出的是[[a b c], 
    #						[d e f]] 的d形式,其实就是相当于调用的array()函数,并返回了结果
    """
    np.array()中的参数应该是列表,或者嵌套列表,或者元组,中间的值是用逗号隔开的,而数组是用空格隔开的,中间没有逗号,这个一定得注意
    """
    import numpy as np
    t1 = np.array([1,2,3])
    t2 = np.array([[1,2,3],[4, 5, 6]])	# 传入的参数得是列表或者元组
    print(t1)
    print('----------')
    print(t2)
    ## output 数组中间是没有逗号的
    [1 2 3]
    ----------
    [[1 2 3]
     [4 5 6]]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    range()用在创建列表中, np.arange()用在创建数组中

    import numpy as np
    t1 = list(range(6))	# 创建列表,range用在列表中
    t2 = np.arange(6)	# 创建数组,arange用在数组中
    t3 = np.arange(6).reshape(2,3)
    print(t1)
    print(t2)
    print(t3)
    ## output
    [0, 1, 2, 3, 4, 5]
    [0 1 2 3 4 5]
    [[0 1 2]
     [3 4 5]]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    指定axis参数可以吧运算应用到数组指定的轴上:

    # Ipython交互界面
    
    >>> from numpy import *
    >>> b = arange(12).reshape(3,4)
    >>> b
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    >>>
    >>> b.sum(axis=0)      # axis=0所指的是所有的行数,也就是对列进行操作进行计算
    array([12, 15, 18, 21])
    >>>
    >>> b.min(axis=1)      # axis=1指的是具体的行,也就是对每一行分别具体进行操作
    array([0, 4, 8])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    np.vstack()&np.hstack()

    参考:np.vstack()和np.hstack()

    用法:

    np.hstack()
    在水平方向上平铺,
    函数原型:numpy.hstack(tup)

    其中tup是arrays序列,tup : sequence of ndarrays(元组)

    np.vstack()
    垂直方向上堆叠
    函数原型:numpy.hstack(tup)

    tup : sequence of ndarrays

    import numpy as np
    
    arr0 = np.array([[1, 2, 3,], [3, 4, 5]])
    list0 = range(10, 16)
    arr1 = np.array(list0).reshape(2, 3)
    
    a = np.hstack((arr0, arr1)) # 在水平方向上平铺, 
    b = np.vstack((arr0, arr1)) # 在垂直方向上堆叠
    print(a)
    print(b)
    
    output-----------
    [[ 1  2  3 10 11 12]
     [ 3  4  5 13 14 15]]
    [[ 1  2  3]
     [ 3  4  5]
     [10 11 12]
     [13 14 15]]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    numy保存和读取文件
    np.save()np.load()

    • np.loadnp.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中。会自动处理元素类型和形状等信息
    • np.save(file, arr, allow_pickle=True, fix_imports=True)
      解释:Save an array to a binary file in NumPy .npy format。以“.npy”格式将数组保存到二进制文件中。
      参数
      file 要保存的文件名称,需指定文件保存路径,如果未设置,保存到默认路径。其文件拓展名为.npy
      arr 为需要保存的数组,也即把数组arr保存至名称为file的文件中。
    • np.load(file, mmap_mode=None, allow_pickle=False, fix_imports=True, encoding=‘ASCII’)
    import numpy as np
    
    
    arr0 = np.arange(0, 9).reshape((3, 3))
    # 保存数组
    np.save('arr0.npy', arr0)
    # 加载数组
    temp = np.load('arr0.npy')
    print(temp)
    
    ## output
    [[0 1 2]
     [3 4 5]
     [6 7 8]]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    保存的arr0.npy如下,注意这种格式的文件用txt文本打开会乱码
    在这里插入图片描述

  • 相关阅读:
    【leaflet】【vue】离线地图及热力图
    入门【网络安全/黑客】启蒙教程
    工业智能中的组态
    罗丹明聚乙二醇氨基,Rhodamine-PEG-NH2,NH2-PEG-Rhodamine荧光标记
    还不会Nginx?京东技术官精心准备的一份Nginx高并发神器送给你
    MFC Windows 程序设计[149]之上报控件组全展示
    SpringCloud第二篇:Feign远程调用
    c刷题(四)
    Android笔记(二十三):以插件化APK方式启动带WebView的Activity
    线程调度算法?
  • 原文地址:https://blog.csdn.net/weixin_51154380/article/details/126378129