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

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



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时,沿着横轴计算
  • 默认时,计算一个总值

tZ2VUI.png

  • cumsum和cumprod会返回中间结果,其他直接返回最终结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值