大数据知识体系
首页
数据结构与算法
  • JVM
  • Java
  • Scala
  • Python
设计模式
  • MySQL
  • Redis
  • HDFS
  • HBase
  • ClickHouse
  • ElasticSearch
  • Iceberg
  • Hudi
  • Spark
  • Flink
  • Hive
  • Yarn
  • Zookeeper
  • Maven
  • Git
  • 数据仓库
  • 用户画像
  • 指标体系
数据治理
关于
首页
数据结构与算法
  • JVM
  • Java
  • Scala
  • Python
设计模式
  • MySQL
  • Redis
  • HDFS
  • HBase
  • ClickHouse
  • ElasticSearch
  • Iceberg
  • Hudi
  • Spark
  • Flink
  • Hive
  • Yarn
  • Zookeeper
  • Maven
  • Git
  • 数据仓库
  • 用户画像
  • 指标体系
数据治理
关于
  • JVM

    • JVM 架构
    • JVM 类加载机制
    • JVM 运行时数据区
    • JVM 垃圾回收机制
    • JVM 性能监控与调优
    • JVM 常见错误
  • Java

    • Java基础

      • Java 基础知识
      • Java 基础 - 枚举类
      • Java 基础 - 异常处理
      • Java 基础 - 泛型
      • Java 基础 - 反射
      • Java 基础 - 代理模式
      • Java 基础 - 注解
    • Java集合

    • Java并发编程

    • Java 开发规范
  • Scala

    • Scala 概述
  • Python

    • Numpy

      • 初识 Numpy
      • ndarray 的创建方式
      • NumPy 的数据类型
      • NumPy 数组计算
      • 拷贝
      • 索引和切片
      • 数学和统计方法
      • 数组形状变换
      • 通用函数
      • 排序
        • 常用函数
      • 搜索和计数
      • 线性代数
      • 伪随机数生成
      • 广播
      • 文件输入和输出
    • Pandas

      • 初识 Pandas
      • 认识 Series 和 DataFrame
      • Series 和 DataFrame 增删改查
      • Index对象增删改查
      • 普通列和行Index相互转化
      • 快速查看整体信息
      • 数值运算
      • 合并数据集
      • 数值统计与聚合
      • 分组聚合
      • 分类类型
      • 排序和排名
      • 时间序列
      • 文件输入与输出
      • 缺失值处理
      • 字符串处理
      • pandas sql
      • 其它
  • 语言基础
  • Python
  • Numpy
Will
2022-08-04
目录

排序

# 常用函数

  • sort(a[, axis, kind, order])

    返回数组的排序副本

  • ndarray.sort([axis, kind, order])

    就地对数组进行排序

  • lexsort(keys[, axis])

    使用一系列键执行间接排序

  • argsort(a[, axis, kind, order])

    返回对数组进行排序的索引

  • msort(a)

    返回沿第一个轴排序的数组副本

  • sort_complex(a)

    首先使用实部对复杂数组进行排序,然后使用虚部进行排序

  • partition(a, kth[, axis, kind, order])

    返回数组的分区副本

  • argpartition(a, kth[, axis, kind, order])

    使用 kind 关键字指定的算法沿给定轴执行间接分区

import numpy as np

arr1 = np.random.randn(10)
arr1
1
2
3
4
array([ 0.99718196, -0.00798806, -0.07844104, -0.82692313, -1.8169914 ,
       -0.69359315, -0.16177984, -0.25790262, -0.05392797, -1.22289349])
np.sort(arr1)
1
array([-1.8169914 , -1.22289349, -0.82692313, -0.69359315, -0.25790262,
       -0.16177984, -0.07844104, -0.05392797, -0.00798806,  0.99718196])
arr1.sort() # 就地进行排序,修改原数组
arr1
1
2
array([-1.8169914 , -1.22289349, -0.82692313, -0.69359315, -0.25790262,
       -0.16177984, -0.07844104, -0.05392797, -0.00798806,  0.99718196])

多维数组排序

arr2 = np.random.randn(3, 4)
arr2
1
2
array([[-0.57733315,  0.46641581, -0.02506395, -1.05509617],
       [ 1.49973396, -1.78825716,  0.50304476, -0.57537376],
       [ 0.01782885,  1.00483895,  0.29039407, -1.24355953]])
np.sort(arr2, axis=1) # 按列排序
1
array([[-1.05509617, -0.57733315, -0.02506395,  0.46641581],
       [-1.78825716, -0.57537376,  0.50304476,  1.49973396],
       [-1.24355953,  0.01782885,  0.29039407,  1.00483895]])
np.sort(arr2, axis=0) # 按行排序
1
array([[-0.57733315, -1.78825716, -0.02506395, -1.24355953],
       [ 0.01782885,  0.46641581,  0.29039407, -1.05509617],
       [ 1.49973396,  1.00483895,  0.50304476, -0.57537376]])
my_dt = np.dtype([('name',  'U10'),('age',  int)]) # 按关键字排序
my_dt
1
2
dtype([('name', '<U10'), ('age', '<i8')])

按键排序

arr3 = np.array([("罗志祥", 21), ("黄渤", 25), ("孙红雷",  17),  ("黄磊",27)], dtype=my_dt)
arr3
1
2
array([('罗志祥', 21), ('黄渤', 25), ('孙红雷', 17), ('黄磊', 27)],
      dtype=[('name', '<U10'), ('age', '<i8')])
np.sort(arr3, order='age')
1
array([('孙红雷', 17), ('罗志祥', 21), ('黄渤', 25), ('黄磊', 27)],
      dtype=[('name', '<U10'), ('age', '<i8')])
上次更新: 2023/11/01, 03:11:44

← 通用函数 搜索和计数→

Theme by Vdoing | Copyright © 2022-2023 Will 蜀ICP备2022002285号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式