【数据分析&数据挖掘】数组的排序

 1 import numpy as np
 2
 3 # 创建数组
 4 arr = np.array([[8, 1, 9], [7, 6, 5]])
 5 print("arr: \n", arr)
 6
 7 # sort()直接排序
 8 # 在列的方向上排序
 9 arr.sort(axis=-1)
10 print("axis=-1排序之后的结果:\n", arr)
11 arr.sort(axis=1)
12 print("axis=1排序之后的结果:\n", arr)
13 # 在行的方向上排序
14 arr.sort(axis=0)
15 print("axis=0排序之后的结果:\n", arr)
16
17 # argsort()间接排序
18 arr = np.array([5, 4, 6, 7, 1])
19 print("arr:\n", arr)
20 # 升序排序之后元素原来所处的下标
21 res = arr.argsort()
22
23 print("res: \n", res)
24
25 # 二维数组
26 arr = np.array([[3, 9, 1], [0, 8, 5]])
27 print("arr:\n", arr)
28 # 按照列的方向排序
29 res = arr.argsort(axis=-1)
30 # 按照行的方向排序
31 res = arr.argsort(axis=0)
32
33 print("res:\n", res)
34
35 # lexsort()
36 a = np.array([3, 2, 6, 4, 5])
37 b = np.array([50, 30, 40, 20, 10])
38 c = np.array([400, 300, 600, 100, 200])
39
40 # 返回值为最后一个数组元素排序之后原来所处的下标
41 res = np.lexsort([a, b, c])
42 print("res: \n", res)
43
44 res_a = [a[i] for i in res]
45 res_b = [b[i] for i in res]
46 res_c = [c[i] for i in res]
47
48 print("a按照c的规则排序之后的结果: \n", res_a)
49 print("b按照c的规则排序之后的结果: \n", res_b)
50 print("c按照c的规则排序之后的结果: \n", res_c)

原文地址:https://www.cnblogs.com/Tree0108/p/12115538.html

时间: 2024-10-11 15:43:17

【数据分析&数据挖掘】数组的排序的相关文章

给object数组进行排序(排序条件是每个元素对象的属性个数)

从汤姆大叔的博客里看到了6个基础题目:本篇是第3题 - 给object数组进行排序(排序条件是每个元素对象的属性个数) 解题关键: 1.Array.sort的用法 2.object的属性数量的统计 解点1:Array.sort的用法 Array.sort可以为数组指定一个排序规则,一般用如下格式进行指定,代码如下: var arr = [10,6,0,4]; console.log( arr.sort() ); //按字符排序 0,10,4,6 console.log( arr.sort( fu

js中的数组对象排序

一.普通数组排序 js中用方法sort()为数组排序.sort()方法有一个可选参数,是用来确定元素顺序的函数.如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序.如: var arr = ["a", "b", "A", "B"]; arr.sort(); console.log(arr);//["A", "B", "a", "b"

第六讲 Block块语法及Block与数组的排序,ios字面量的使用(源代码上传)

1 #import <Foundation/Foundation.h> 2 3 4 #import "Student.h" 5 6 int c =200; 7 int main(int argc, const char * argv[]) { 8 @autoreleasepool { 9 /* 10 ------------------------------------- 11 定义block变量的四种方法 12 -----------------------------

小康陪你学JAVA--------sort方法对数组进行排序

本篇和大家分享另一种数组的操作的方法——sort方法对数组进行排序. 范例:TestJava4_5.java 01 // 以下程序是数组的排序操作,在这里使用了sort方法对数组进行排序 02 import java.util.*; 03 public class TestJava4_5 04 { 05    public static void main(String[] args) 06  { 07       int a[] = {4,32,45,32,65,32,2} ; 08 09  

根据对象的某一属性对数组进行排序

//根据对象的某个属性对数组进行排序 function compar(attribute){ return function (obj1,obj2){ if(obj1.attribute > obj2.attribute){ return -1; }else{ return 1; } } };

php多维数组自定义排序 uasort()

php内置的排序函数很多:正反各种排: 常用的排序函数: sort() - 以升序对数组排序rsort() - 以降序对数组排序asort() - 根据值,以升序对关联数组进行排序ksort() - 根据键,以升序对关联数组进行排序arsort() - 根据值,以降序对关联数组进行排序krsort() - 根据键,以降序对关联数组进行排序 基本都能满足需求了:关于这些函数的使用方法就不多啰嗦了: 但是在项目的实际开发中还是会有些更加苛刻的排序需求:今天要介绍的排序函数是: uasort() ua

array_multisort—对多个数组或多维数组进行排序

From: http://www.cnblogs.com/lwbqqyumidi/archive/2013/01/31/2887188.html PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以行来排序——这类似于 SQL 的 ORDER BY 子句的功能.第一个数组是要排序的主要数组.数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的

使用NSSortDescriptor对字符串数组进行排序

NSSortDescriptor 指定用于对象数组排序的对象的属性. 如果是Employee对象需要按照name来排序,就生成下面的descriptor NSSortDescriptor *descriptor = [NSSortDescriptor sortDescriptorWithKey:name ascending:YES]; 如果需要多个排序,比如先按name排序,再按入职日期排序.那就创建两个descriptor NSSortDescriptor *descriptor = [NSS

【转】数据分析/数据挖掘 入门级选手建议

1.数据分析和数据挖掘联系和区别 联系:都是搞数据的 区别:数据分析偏统计,可视化,出报表和报告,需要较强的表达能力.数据挖掘偏算法,重模型,需要很深的代码功底,要码代码,很多= =. 2.怎么入门 请百度"如何成为一名数据分析师"或者"如何成为一名数据挖掘工程师".英文好上Quora,不行上知乎,看看入门资料. 3.选哪些书 看入门资料给你提供的书,有电子版下电子版,没电子版买纸质书,花不了多少钱. 4.用什么语言 数据分析:excel是必须,R是基本,pytho