• 数据分析--基础numpy(一)


    一: numpy 结构设定

    1:numpy 结构

    numpy array 类型数据类型必须为统一类型

    1 import numpy as np
    2 number1 =np.array([1,2,3,4])
    3 print(number1)
    4 number1.dtype

    image.png

    二:numpy 索引取值及切片

    1 索引取值

    1 demonumber =np.array([[1,2,3],[4,5,6],[7,8,9]])
    2 print(demonumber)
    3 #取数字6
    4 print(demonumber[1,2])

    取数字6

    因为是数组  

    如果取所有行 用 [:,2]    ":" 代表所有

    取横坐标 第二行   索引1

      纵坐标 取第三列   索引2

    image.png

    2 索引切片

    1> 一维切片

    顾头不顾腚切片方式

    demo4 =np.array([1,2,3,4,5])
    print(demo4)
    #取 2,3,4
    print(demo4[1:4])

    image.png

    2>多维切片

    取 第一二列数据

    demonumber =np.array([[1,2,3],[4,5,6],[7,8,9]])
    print(demonumber)
    print(demonumber[:,0:2])

    冒号的含义是所有行   , 0:2 意思是 取索引0到2 列数据

    image.png

    三:numpy 的数据计算

    1:一 维数据计算

    如图:让demo5 ==10  打印内容返回布尔类型数据 第0个索引位置为true

    demo5 =np.array([10,20,30,40])
    demo5==10

    image.png

    2: 多维数据计算

    我们查询多维矩阵中是否存在4 这个int 数值

    demonumber =np.array([[1,2,3],[4,5,6],[7,8,9]])
    print(demonumber)
    demonumber==4

    image.png

    3: 利用索引数据 反向取出数据值

    1>一维数组反向取值

    利用数据计算取出索引ture 的位置

    在利用索引找到数据值  ,一维数组意义不大, 多维数组 展示

    demo11 =np.array([10,20,30,40,50])
    demo11_30 =demo11==30 
    print(demo11_30)
    
    print(demo11[demo11_30])

    image.png

    2>:多维数组反向取值

     # 取 第三列数据 判断是否等于11

     #取 11 值所在的矩阵的行

     #取11 值所在矩阵的列

    demo12 =np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
    print(demo12)
    demo12_11=(demo12[:,2]==11)     # 取 第三列数据 判断是否等于11
    print(demo12_11) 
    print(demo12[demo12_11,:])  #取 11 值所在的矩阵的行
    print(demo12[:,demo12_11])  

    image.png

    四: numpy 矩阵基础

    1:与或判断

    1>: 与   &

    我们这里取  等于10又等于5的值

    demo1 =np.array([5,10,15,20])
    demo1_5_10 =(demo1==10) & (demo1==5)   #取等于10 又等于5的值  
    print(demo1_5_10)   #显然结果没有

    image.png  显然没有

    2>:或  

    同理取 等于10 或 等于5的值

    import numpy as np
    demo1 =np.array([5,10,15,20])
    demo1_5_10 =(demo1==10) | (demo1==5))   #取等于10 或等于5的值  
    print(demo1_5_10)  

    image.png 0 ,1 索引为 ture

    2:利用与或反向取值

    与反向取值类似. 不过是增加了一个与或操作

    demo2 =np.array([[1,2,3],[4,5,6],[7,8,9]])
    print(demo2)
    demo_5 = ((demo2[:,1] ==5) |(demo2[:,1] ==10) ) 
    print(demo_5)
    demo2[demo_5,1] =10
    print (demo2)
    image.png

    3 矩阵行求和 /列求和

    1: 行列求和

    sum(指定行列)  求和

    import numpy as np 
    demo1 = np.array([[1,2,3],[4,5,6],[7,8,9]])
    
    print (demo1)
    print(demo1.sum(axis=1))  # axis =1 按照行求和
    print(demo1.sum(axis=0)) #axis=0 按照列求和
     
  • 相关阅读:
    大数据实践解析(上):聊一聊spark的文件组织方式
    npm 项目更换目录后无法启动
    Vue 爬坑之路(六)—— 使用 Vuex + axios 发送请求
    Vue 爬坑之路(五)—— 组件进阶
    Vue 爬坑之路(四)—— 与 Vuex 的第一次接触
    Vue 爬坑之路(三)—— 使用 vue-router 跳转页面
    Vue 爬坑之路(二)—— 组件之间的数据传递
    Vue 爬坑之路(一)—— 使用 vue-cli 搭建项目
    同步类的基础AbstractQueuedSynchronizer(AQS)
    由于不当的执行顺序导致的死锁
  • 原文地址:https://www.cnblogs.com/baili-luoyun/p/13029800.html
Copyright © 2020-2023  润新知