Numpy入门(六):简单统计分析

    科技2024-01-16  106

    点击跳转 《Numpy入门系列目录》


    文章目录

    1. 排序2. 去重与重复数据3. 常用的统计函数


    1. 排序

    直接排序

    对数值直接进行排序

    np.sort():最常用的排序方法

    numpy.sort(a, axis, kind, order) kind:排序算法,默认为快速排序order:需要排序的字段sort函数可以指定axis参数,使得sort函数可以沿着指定轴对数据集进行排序 axis=1:沿着横轴排序,每行进行排序axis=0:沿着纵轴排序,每列进行排序

    间接排序

    根据一个或多个键对数据集进行排序

    使用argsort函数和lexsort函数,可以在给定一个或多个键时,得到一个由整数构成的索引数组,索引值表示数据在新的序列中的位置

    argsort函数:从小到大排序

    lexsort函数:一次性对满足多个键的数组执行间接排序

    import numpy as np a = np.array([3, 2, 6, 4, 5]) b = np.array([50, 30, 40, 20, 10]) c = np.array([400, 300, 600, 100, 200]) d = np.lexsort((a, b, c)) # lexsort函数只接受一个参数,即(a,b,c) print(d) # 返回的是按最后一个传入数据的从小到大的排序值的下标 [3 4 1 0 2] # 多个键值排序是按照最后一个传入数据计算的 print('排序后数组为:', list(zip(a[d], b[d], c[d]))) # 排序后数组为: [(4, 20, 100), (5, 10, 200), (2, 30, 300), (3, 50, 400), (6, 40, 600)]

    2. 去重与重复数据

    np.unique(array)

    找出数组中的唯一值并返回已排序的结果

    np.tile(A, reps)

    A:指定重复的数据reps:指定重复的次数 import numpy as np arr = np.arange(9).reshape(3, 3) arr = np.tile(arr, 2) print(arr) ''' [[0 1 2 0 1 2] [3 4 5 3 4 5] [6 7 8 6 7 8]] '''

    np.repeat(a, repeats, axis=None)

    a:需要重复的数组元素repeats:重复次数axis:指定轴 import numpy as np arr = np.arange(9).reshape(3, 3) arr = np.repeat(arr, 2) print(arr) ''' [0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8] '''

    二者区别

    tile函数是对数组进行重复操作repeat函数是对数组中的每个元素进行重复操作

    3. 常用的统计函数

    当axis = 0时,沿着纵轴计算当axis = 1时,沿着横轴计算默认时,计算一个总值

    cumsum和cumprod会返回中间结果,其他直接返回最终结果
    Processed: 0.193, SQL: 9