• 数据分析-numpy1


    numpy

    • numpy是什么?
    • 使用Numpy可以方便的使用数组、矩阵进行计算
    • 包含线性代数、傅里叶变换、随机生成等大量函数
    • numpy创建数组

    在这里插入图片描述

    array创建数组

    引入numpy
    import numpy as np
    元组
    np.array((1,2,3,4,5))
    
    数组
    a=np.array([1,2,3,4,5])
    b=np.array(a)
    #b=a
    
    迭代对象
    np.array(range(10))
    
    生成器
    np.array([i**2 for i in range(10)])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 练习1:创建10以内偶数的数组
    import numpy as np
    a=np.array([i for i in range(10) if i%2==0])
    
    • 1
    • 2
    1. 设置dtype参数,默认自动识别
    a=np.array([1,2,3,4,5])
    has_dtype_a=np.array([1,2,3,4,5],dtype='float')
    结果:array([1.,2.,3.,4.,5.])
    
    • 1
    • 2
    • 3

    思考:将浮点设置成整型

    np.array([1.1,2.5,3.8,4,5],dtype='int')  #强制转换直接取整
    结果:[1,2,3,4,5]
    
    • 1
    • 2
    1. 设置coppy参数,默认为True
    a=np.array([1,2,3,4,5])
    b=np.array(a)
    print('a',id(a),' b',id(b))
    #两者地址不同
    
    a=np.array([1,2,3,4,5])
    b=a
    #两者地址相同
    
    a=np.array([1,2,3,4,5])
    b=np.array(a,copy=False)
    #两者地址相同
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    1. ndmin用于指定数组的维度
    a=np.array([1,2,3],ndmin=2)
    a.ndim
    
    • 1
    • 2
    1. subok参数,类型为bool值,默认False。为True,使用object的内部数据类型;False:使用数组的数据类型
    #创建一个矩阵
    a=np.mat([1,2,3,4])
    #复制副本,保持原类型
    b=np.array(a.subok=True)
    c=np.array(a) #默认为False
    #a、b类型相同
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    arange()生成区间数组

    在这里插入图片描述

    np.arange(3.1)
    #array[0.,1.,2.,3.]
    
    np.arange(5,dtype=float)
    #array[0.,1.,2.,3.,4.,5.]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • linspace()等差数列
      在这里插入图片描述
    #包含终止值
    a=np.linspace(2.0,5.0,num=5,endpoint=False)
    
    • 1
    • 2
    • logspace()等比数列
      在这里插入图片描述
    a=np.logspace(0,9,10,base=2)
    #省略base,默认为10
    
    • 1
    • 2

    numpy数组属性

    在这里插入图片描述

    • ndarray.shape
      返回一个包含数组维度的元组,对于矩阵,n行m列,它也可以用于调整数组维度
      在这里插入图片描述
    • 调整维度reshape
    a=np.arange(20).reshape((4,5))
    
    • 1
    1. 调整维度resize
      在这里插入图片描述
      在这里插入图片描述

    切片和索引

    在这里插入图片描述

    ar1=np.arange(10)
    ar2=ar1[2:7:2]
    结果:ar2([2,4,6])
    
    • 1
    • 2
    • 3

    注意
    1:切片可以使用省略号"…",如果在行位置,打印所有行元素。反之,则包含所有列元素
    2:返回第二列后所有元素ar4[…,1:]
    3:返回第二列后的所有项 ar4[…][1]

    numpy广播机制

    在这里插入图片描述

    a=np.array([1,2,3,4])
    b=np.array([10,20,30,40])
    c=a*b
    print(c)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    a=np.array([[0,0,0],
       [10,10,10],
       [20,20,20],
       [30,30,30]
      ])
    b=np.array([0,1,2])
    print((a+b))
    结果:
    [[ 0  1  2]
     [10 11 12]
     [20 21 22]
     [30 31 32]]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 广播规则
      在这里插入图片描述
  • 相关阅读:
    膜拜,Alibaba最新发布SprinBoot:进阶原理实战与面试题分析指南
    Enviro 3 - Sky and Weather
    linux shell(一)
    gslx680触摸屏驱动源码码分析(gslX680.c)
    《教练型管理者》读书笔记-第4篇【教练实践】
    使用binlog2sql工具闪回恢复被误删除的数据实战
    声明式事务管理参数配置
    PyTorch应用实战一:实现卷积操作
    SQL优化——如何写出高效率SQL
    React 数据通信总结(父子组件、跨级组件、无关组件)
  • 原文地址:https://blog.csdn.net/weixin_66610130/article/details/126687020