zoukankan      html  css  js  c++  java
  • 七、Numpy高效数据处理

    Numpy的主要作用是进行矩阵运算

    在使用时首先要导入包

    import numpy as np

    np.version.version 用来查看版本信息

    # 构建一维数组
    n1=np.array([1,2,3])    注意外面是小括号
    n1.shape 输出维度数
    
    
    # 构建二维数组
    n2= np.array([[1,2,3],[4,5,6]]) 一个大方括号,里面是两个小方括号
    n2.shape   

    (2, 3)

    下面这几个比较绕人,多看多记

    # 快速构建 ndarray
    # 序列创建:
    np.arange(15)#类似于 python 中的 range,创建一个第一个维度为 15 的 ndarray 对象。
    Out[154]:
    array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])
    In [156]:
    np.arange(2,3,0.1) #起点,终点,步长值。含起点值,不含终点值。
    Out[156]:
    array([ 2. ,  2.1,  2.2,  2.3,  2.4,  2.5,  2.6,  2.7,  2.8,  2.9])
    In [159]:
     
    np.linspace(1,10,10) #起点,终点,区间内点数。起点终点均包括在内。
    Out[159]:
    array([  1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.])
    In [160]:
    np.arange(0,1,0.1) #0 到 1 之间步长为 0.1 的数组, 数组中不包含 1
    Out[160]:
    array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])
    In [163]:
    np.linspace(0, 1, 5) # 开始:0, 结束 1, 元素数 5。
    Out[163]:
    array([ 0.  ,  0.25,  0.5 ,  0.75,  1.  ])

    np.eye(3)# 对角线矩阵  (三行三列)
    
    array([[ 1.,  0.,  0.],
           [ 0.,  1.,  0.],
           [ 0.,  0.,  1.]])
    np.random.rand(3,2) #随机数矩阵:   三行两列

    注意点:

    a[:,:] # 第一个冒号代表切出所有的行,第二个冒号代表切出所有的列。
    c1=np.arange(50).reshape(2,5,5)
    np.save('d:/c1',c1)      
    # 保存好的数组,默认后缀为 npy
    # 多个数组保存使用 savez 方法。
    
    # 在根路径的情况下如上就直接写
    
     # 但在其他的路径时,np.save('C:\Users\asus\Desktop\python课程\a1',a1)
    
    a1=np.arange(50).reshape(2,5,5) # ????
    np.save('C:\Users\asus\Desktop\python课程\a1',a1)
    np.load('C:\Users\asus\Desktop\python课程\a1.npy')
    # 读取
    
    # load 方法载入 numpy 格式的数据
    # savetxt,loadtxt 方法载入文本格式的数据同理
    

    numpy y 函数 参考
    生成函数 作用

    np.array( x)将输入数据转化为一个 ndarray
    np.array( x, dtype)将输入数据转化为一个类型为 type 的 ndarray
    np.asarray( array ) 将输入数据转化为一个新的(copy)ndarray
    np.ones( N )生成一个 N长度的一维全一 ndarray
    np.ones( N , dtype)生成一个 N长度类型是 dtype 的一维全一 ndarray
    np.ones_like( ndarray )生成一个形状与参数相同的全一 ndarray
    np.zeros( N )生成一个 N长度的一维全零 ndarray
    np.zeros( N , dtype)生成一个 N长度类型位 dtype 的一维全零 ndarray
    np.zeros_like(ndarray)类似 np.ones_like( ndarray )
    np.em pty( N )生成一个 N长度的未初始化一维 ndarray
    np.em pty( N , dtype)q生成一个 N长度类型是 dtype 的未初始化一维 ndarray
    np.em pty(ndarray)类似 np.ones_like( ndarray )
    np.eye( N )创建一个 N * N的单位矩阵(对角线为 1,其余为 0)
    np.identity( N )
    np.arange( num ) 生成一个从 0 到 num-1 步数为 1 的一维 ndarray
    。。。。。。
    
    诸如此类不再附上
  • 相关阅读:
    妙用||和&&
    jQuery细节总结
    Mybatis3.2和Spring3.x整合----Myb…
    SSH整合- 2- add service layout
    SSH整合--1
    MyBatis之ResultMap简介,关联对象…
    BeanFactory和ApplicationContext介绍
    Spring IOC容器
    感知机算法的两种表示
    Python中xPath技术和BeautifulSoup的使用
  • 原文地址:https://www.cnblogs.com/qianyuesheng/p/8451937.html
Copyright © 2011-2022 走看看