关于排序

列表中的sort和sorted

  • sort是inplace排序,且sort是列表的一个函数
In [25]: a=[2,3,1]

In [26]: a.sort()

In [27]: a
Out[27]: [1, 2, 3]

注意:列表调用sort方法后是没有返回值的。

如果在使用的时候,忘记这个,是非常崩溃的。

  • sorted是对所有可迭代对象排序
In [34]: students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]

In [35]: sorted(students,key=lambda x:x[2])
Out[35]: [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
其中key为函数,输入为可迭代对象中的元素,传出为索引为2的元素。于是,就是按照students中元素索引为2的对象排序。

pandas中的sort_index和sort_values

  • sort_index
DataFrame.sort_index(axis=1,ascending=False)

如函数名称所示,是按照索引来排序。

那么就需要知道哪个轴的索引排序,因而需要参数axis

其中axis=1表示对所有的columns进行排序,下面的数也跟着发生移动。后面的ascending=False表示按降序排列,参数默认为升序。

  • sort_values
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

显然,如函数名称所示,是按照值排序。既然需要按照值来排序,那么肯定需要知道哪个轴(参数axis),和轴中的哪一条数据(参数by)。

按照轴0或轴1,再根据元素值的大小排序。

In [20]: b
Out[20]:
    0  1   2   3
0   2  1   2   3
1   6  5   6   7
2  10  9  10  11
In [23]: b.sort_values(axis=1,by=0,ascending=False)
Out[23]:
    3   0   2  1
0   3   2   2  1
1   7   6   6  5
2  11  10  10  9
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
好的,下面是一个使用JSP实现排序的程序: 1. 创建一个JSP页面,命名为sort.jsp,并在页面中添加以下代码: ```jsp <%@ page language="java" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>排序</title> </head> <body> <h1>排序算法演示</h1> <form method="post" action="sort.jsp"> <label>输入待排序的数字,用逗号分隔:</label> <input type="text" name="numbers"> <input type="submit" value="排序"> </form> <% // 接收表单提交的数据 String numbersString = request.getParameter("numbers"); if (numbersString != null && !numbersString.isEmpty()) { // 将输入的数字字符串转换为整型数组 String[] numbersArray = numbersString.split(","); int[] numbers = new int[numbersArray.length]; for (int i = 0; i < numbersArray.length; i++) { numbers[i] = Integer.parseInt(numbersArray[i]); } // 调用排序算法进行排序 // 这里使用冒泡排序算法作为示例 for (int i = 0; i < numbers.length - 1; i++) { for (int j = 0; j < numbers.length - 1 - i; j++) { if (numbers[j] > numbers[j + 1]) { int temp = numbers[j]; numbers[j] = numbers[j + 1]; numbers[j + 1] = temp; } } } // 输出排序后的结果 out.println("<p>排序结果为:</p>"); out.println("<ul>"); for (int i = 0; i < numbers.length; i++) { out.println("<li>" + numbers[i] + "</li>"); } out.println("</ul>"); } %> </body> </html> ``` 2. 在排序算法演示页面中,用户可以输入一组数字,用逗号分隔。当用户点击“排序”按钮时,将会提交表单数据到sort.jsp页面。在sort.jsp页面中,我们首先接收表单提交的数据,然后将输入的数字字符串转换为整型数组。接着,我们调用排序算法进行排序,这里使用冒泡排序算法作为示例。最后,我们输出排序后的结果。 可以根据需要使用其他排序算法,例如插入排序、选择排序、快速排序等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值