• numpy学习笔记


    Numpy的数组array和矩阵matrix

    Numpy的主要对象是同种元素的多维数组。区别于python的list(可存储多种)。这是一个所有的元素都是一种类型,通过一个正整数元组索引的元素表格(通常元素是是数字)。

    在Numpy种维度(dimensions)角坐轴(axes)

    0维(标量): 3

    一维(数组/向量):[1,2]

    二维(矩阵):[[1,2],[3,4]]

    三维(及以上称为张量):[[[1,2],[3,4]]

    numpy的索引和切片区别

    最主要的是,索引维度根据索引输入维度,下降相应维度;切片,返回结果维度是不会下降的。

    因此,"X[ 切片1,切片2]" 和" "X[切片1][切片2]"结果不相同。前面相当于”切片1" 匹配维度0索引,”切片2“匹配维度1索引。 后者则是, 先获取"X[切片1]" (数据维度不变),在原来的数据维度上,再获取依此”切片2“指定索引。

    print("ndarray的基本索引")
    x = np.array([[1,2],[3,4],[5,6]])
    print(x.shape)
    print(x[2],"   ",x[2][1]) # 索引获取
    print(x[2,1])
    
    x = np.array([[ [1,2],[3,4] ,[[5,6],[7,8]]]])
    print (x.shape)
    print(x)
    print(x[0,0,1])
    
    y = x[0].copy() #生成一个副本
    z = x[0] #未生成副本 。始终记得python赋值类似传引用。
    print(y)
    print(z)
    
    y[0,0] = 9 #独立副本互不关联
    print(y)
    print(x)
    z[0,0] = 9 #
    print(x)
    
    #切片演示
    print("narray的切片")
    x = np.array([1,2,3,4,5])
    print(x[1:4])
    print(x[:3])
    print(x[1:])
    print(x)
    print(x[0:4:2])
    
    x = np.array([[1,2],[3,4],[5,6]])
    print(x[:2])
    print(x[:2,:1]) #索引。注意左闭右开。切片前后数据维度不会降低。这边会生成成 索引值。最终形式是 [1,3]
    print(x[:2][:1]) #切片。和上面值不一样.切片不会改变数据维度。 过程是 获取  [[1,2],[3,4]] 此时维度还是之前的, 再接[:1] ,相当于取[1,2]
    
    x[:2,:1] = 9 #标量可以上升到任意维度进行广播
    #x[:2,:1] = 3,4 #将会排除异常。 标量外的其余情况赋值,需要维度匹配. 全部是 切片,返回的数据维度不变。 有一个是标量,则是索引,维度下降
  • 相关阅读:
    apache配置域名子目录,访问不同子项目
    win10系统,vbox下安装centos6/7,挂载实现目录共享
    Laravel移除Cache-Control
    Laravel 5.8 添加服务层
    Laravel 不同环境加载不同的.env文件
    Box 'laravel/homestead' could not be found.
    vagrant网站中box下载方法
    移动端,fixed bottom问题
    css正則匹配、模糊匹配
    一台电脑同时添加git和bitbucket两个网站的ssh key
  • 原文地址:https://www.cnblogs.com/PiaoLingJiLu/p/13829114.html
Copyright © 2020-2023  润新知