zoukankan      html  css  js  c++  java
  • 数据分析之路 第一篇 numpy

    第一篇 numpy

    1.N维数组对象 :ndarray
    在Python中既然有了列表类型,为啥还要整个数组对象(类型)?那是因为:
    1.数组对象可以除去元素间运算所需要的循环,使得一维向量更像单个数据
    2.设置数组对象可以提升计算的速度
    3.数组对象采取相同的数据类型,有助于节省运算空间和存储空间
    nsarray 是一个多维数组对象,由两部分组成:
    1.实际的数据
    2.描述这些数据的原数据(数据维度、数据类型等)

    import numpy as np
    
    a = np.array([[0,1,2,3,4],
                 [9,8,7,6,5]])
    
    print(a.ndim)
    print(a.shape)
    print(a.size)
    print(a.dtype)
    print(a.itemsize)
    
    #2
    #(2, 5)
    #10
    #int32
    #4

         

    #创建数组
    
    import numpy as np
    
    x = np.array([0,1,2,3])
    x1 = np.array((0,1,2,3))
    x2 = np.array([[1,2],[3,4],[0.4,0.5]])
    
    print(x)
    print(x1)
    print(x2)
    
    注释:
    [0 1 2 3]
    [0 1 2 3]
    [[ 1.   2. ]
     [ 3.   4. ]
     [ 0.4  0.5]]
        

                       

    ndarray 数组的变换

     

    import numpy as np
    
    a = np.ones((2,3,4),dtype=np.int32)
    print(a)
    b = a.reshape(3,8)
    print(b)
    #ndarray 数组向列表转化
    print(a.tolist())
    
    注意:
    [[[1 1 1 1]
      [1 1 1 1]
      [1 1 1 1]]
    
     [[1 1 1 1]
      [1 1 1 1]
      [1 1 1 1]]]
    [[1 1 1 1 1 1 1 1]
     [1 1 1 1 1 1 1 1]
     [1 1 1 1 1 1 1 1]]
    [[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]], [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]]

     ndarray数组的切片和索引

    #数组的索引和切片
    
    a = np.arange(24).reshape((2,3,4))
    print(a)

    [[[ 0 1 2 3]
    [ 4 5 6 7]
    [ 8 9 10 11]]

    
    

    [[12 13 14 15]
    [16 17 18 19]
    [20 21 22 23]]]

    print(a[1,2,3]) #23
    print(a[-1,-2,-3]) #17
    
    print(a[:,1,-3]) #[ 5 17]
    
    print(a[:,1:3,:])
    
    print(a[:,:,::2])
    
    输出结果:
    [[[ 4  5  6  7]
      [ 8  9 10 11]]
    
     [[16 17 18 19]
      [20 21 22 23]]]
    
    
    [[[ 0  2]
      [ 4  6]
      [ 8 10]]
    
     [[12 14]
      [16 18]
      [20 22]]]

     

  • 相关阅读:
    Java 泛型,你了解类型擦除吗?
    终于有人把 Nginx 说清楚了,图文详解!
    给你一份超详细 Spring Boot 知识清单
    Java 中的 SPI 机制是什么鬼?
    用 Git 和 Github 提高效率的 10 个技巧!
    聊聊微服务架构及分布式事务解决方案!
    python多线程同步机制Lock
    python多线程同步机制Semaphore
    mysql 慢查询时间
    mysql row模式查看原始sql
  • 原文地址:https://www.cnblogs.com/haishiniu123/p/6783420.html
Copyright © 2011-2022 走看看