• 数据分析


    概述

    numpy是python语言的一个扩展程序库,这个模块可以支持大量的维度数据和矩阵运算

    安装:pip install numpy -i https://pypi.douban.com/simple

    使用

    方法:

    导入模块并其别名  import numpy as np

    array创建数组:np.array(列表)   

       如:arr1 = np.array([1,2,3,4,5])

    full创建数组:np.full((数组维度),fill_value="填充值") 

      如arr2 = np.full((5,3),fill_value="1")

    等差数列:np.linspace(起始值,结束值,num=数据个数)  #根据起始值和结束值和数据数列自动计算数据个数 

      如:arr3 = np.linspace(1,100,num = 10)

    遍历:np.arange(起始数据,结束数据,间隔)

      如:arr4 = np.arange(1,100,2)

    随机取值:np.random.randint(最小值,最大值,size=(数据维度))

      如:arr5 = np.random.randint(0, 100, size=(3, 4))

    随机获取0-1的小数:np.random.random(size=数据个数)

      如:arr6 = np.random.random(size=(3,4))

    属性:

    ndim:获取数组的维度

    shape:获取各维度的长度

    size:总长度

    dtype:元素长度

    import numpy as np
    arr1 = np.array([1,2,3,4,5])
    arr2 = np.full((5,3),fill_value="1")
    arr3 = np.linspace(1,100,num = 10)
    arr4 = np.arange(1,100,2)
    arr5 = np.random.randint(0, 100, size=(3, 4))
    arr6 = np.random.random(size=(3,4))
    print("arr1=%s"%arr1)
    print("arr2=%s"%arr2)
    print("arr3=%s"%arr3)
    print("arr4=%s"%arr4)
    print("arr5=%s"%arr5)
    print("arr6=%s"%arr6)
    print(arr1.ndim)
    print(arr1.shape)
    print(arr1.size)
    print(arr1.dtype)
    
    
    # 打印结果
    '''
    arr1=[1 2 3 4 5]
    arr2=[['1' '1' '1']
     ['1' '1' '1']
     ['1' '1' '1']
     ['1' '1' '1']
     ['1' '1' '1']]
    arr3=[  1.  12.  23.  34.  45.  56.  67.  78.  89. 100.]
    arr4=[ 1  3  5  7  9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
     49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95
     97 99]
    arr5=[[97 55 89 59]
     [11 36 99 59]
     [25 89 79 64]]
    arr6=[[0.29921343 0.28210338 0.42484503 0.25794401]
     [0.65222899 0.15399972 0.06108913 0.38374279]
     [0.31600982 0.35209163 0.85042999 0.5903667 ]]
    1
    (5,)
    5
    int32
    '''
    实例和结果

    数组操作:

    获取数据:arr1[维度1所赢][维度2索引]......

    切片:arr1[维度1起始值:维度1结束值:维度1间隔,.....]

    变形reshape:改变数组维度,但数据长度必须保持一致  # arr1.reshape((数组维度))

    级联concatenate:np.concatenate(数组1,数据2,axis=0/1)  # axis为0表示纵向级联,1表示横向级联

    切分split():np.split(arr,行/列号,轴):参数2是一个列表类型, 参数3横向表示0纵向表示1

    排序sort():

      1.np.sort(数组,axis) # axis为0表示纵向排序,1表示横向排序   # 不改变原数组

      2.arr1.sort(数组,axis) # axis为0表示纵向排序,1表示横向排序 # 改变原数组

    聚合操作:

    如:arr1.sum()计算数组的和

    常用聚合函数:sum,prod,mean,std,var,min,max,argmin,argmax,median,percentile,any,all,power

    import numpy as np
    arr1 = np.random.randint(0, 100, size=(3, 4))
    print("原数组",arr1)
    print("获取数据",arr1[1][2])
    print("切片",arr1[0:2,1:3])
    print("变形",arr1.reshape((4,3)))
    print("行级联",np.concatenate((arr1,arr1),axis=0))
    print("列级联",np.concatenate((arr1,arr1),axis=1))
    print("切分",np.split(arr1,[3],axis=0))
    print("排序",np.sort(arr1,axis=0))
    print("聚合函数",arr1.sum())
    
    
    # 打印结果
    '''
    原数组 [[25 19  1  5]
     [78 81 55 19]
     [ 5 28 28 34]]
    获取数据 55
    切片 [[19  1]
     [81 55]]
    变形 [[25 19  1]
     [ 5 78 81]
     [55 19  5]
     [28 28 34]]
    行级联 [[25 19  1  5]
     [78 81 55 19]
     [ 5 28 28 34]
     [25 19  1  5]
     [78 81 55 19]
     [ 5 28 28 34]]
    列级联 [[25 19  1  5 25 19  1  5]
     [78 81 55 19 78 81 55 19]
     [ 5 28 28 34  5 28 28 34]]
    切分 [array([[25, 19,  1,  5],
           [78, 81, 55, 19],
           [ 5, 28, 28, 34]]), array([], shape=(0, 4), dtype=int32)]
    排序 [[ 5 19  1  5]
     [25 28 28 19]
     [78 81 55 34]]
    聚合函数 378
    '''
    View Code

     

  • 相关阅读:
    kafka中配置细节
    kafka原理
    storm中的基本概念
    Spring装配Bean的过程补充
    Spring装配Bean的过程
    java中被遗忘的native关键字
    水塘抽样
    js常用总结
    HttpServletResponse status对应的状态信息
    mongoDB常用命令总结
  • 原文地址:https://www.cnblogs.com/mark--ping/p/11785855.html
Copyright © 2020-2023  润新知