文档章节

numpy-排序

o
 osc_wws45aot
发布于 2019/08/20 14:26
字数 429
阅读 8
收藏 0

精选30+云产品,助力企业轻松上云!>>>

numpy 有多种排序方法。

 

sort

sort(self, axis=-1, kind='quicksort', order=None):排完序后改变原值  【只有这个方法改变原值】

axis : int, optional
                Axis along which to sort. Default is -1, which means sort along the
                last axis.
kind : {'quicksort', 'mergesort', 'heapsort', 'stable'}, optional
                Sorting algorithm. Default is 'quicksort'.
order : str or list of str, optional
                When `a` is an array with fields defined, this argument specifies
                which fields to compare first, second, etc.  A single field can
                be specified as a string, and not all fields need be specified,
                but unspecified fields will still be used, in the order in which
                they come up in the dtype, to break ties.

示例

a=np.arange(1,5)
print(a)    # [1 2 3 4]

a.sort()
print(a)    # [1 2 3 4]

b=np.array([[1,5,3],[4,2,7]])
b.sort()
print(b)    # [[1 3 5]
              # [2 4 7]]
b=np.array([[1,5,3],[4,2,7]])
b.sort(axis=0, kind='quicksort')
print(b)        # [[1 2 3]
                  # [4 5 7]]

# b=np.array([[1,5,3],[4,2,7]])
# b.sort(axis=0,kind='quicksort',order=None)
# print(b)

# 参数:
# axis=0 表示按列 1 表示按行;默认是1按行排序
# kind 排序的算法,提供了快排(quicksort)、混排、堆排

 

np.sort

sort(a, axis=-1, kind='quicksort', order=None):用法同 sort,但是不改变原值

c=np.array([[1,5,3],[4,2,7]])
print(np.sort(c))   # [[1 3 5]
                    # [2 4 7]]
print(np.sort(c,axis=0))    # [[1 2 3]
                             # [4 5 7]]

print(c)        # [[1 5 3]      原值没变
                 # [4 2 7]]

 

np.argsort

argsort(self, axis=-1, kind='quicksort', order=None):返回排序后的索引

# 一维数组
data5 = np.array([1, 5, 3])
print data5.argsort()            # [0 2 1]  升序
print np.argsort(data5)          # [0 2 1]
print np.argsort(-data5)         # [1 2 0]  降序


# 二维数组
data6 = np.array([[1,2,3],[4,5,6],[0,0,1]])
# [[1 2 3]
#  [4 5 6]
#  [0 0 1]]
print np.argsort(data6, axis=1)   # 按行排序
# [[0 1 2]
#  [0 1 2]
#  [0 1 2]]
print np.argsort(data6, axis=0)    # 按列排序
# [[2 2 2]
#  [0 0 0]
#  [1 1 1]]

a_arg = np.argsort(data6[:,1])  # 按第'1'列排序
print a_arg                     # [2 0 1]   第2个排1,第0个排2,第1个排3
a = data6[a_arg]
print a
# [[0 0 1]
#  [1 2 3]
#  [4 5 6]]

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

访问者模式Visitor

一 概述 场景:通常来说,用于封装数据所用到的pojo类,其只包含get、set,对应的业务逻辑是在Service上完成的;但如果出现多个pojo类都共用一套逻辑时,则应该考虑将逻辑进行抽象,不同类型...

小明不觉小
11分钟前
5
0
jQuery Ajax错误处理,显示自定义异常消息 - jQuery Ajax error handling, show custom exception messages

问题: Is there some way I can show custom exception messages as an alert in my jQuery AJAX error message? 有没有什么方法可以在我的jQuery AJAX错误消息中显示自定义异常消息作为警报...

法国红酒甜
17分钟前
18
0
告别传统机房:3D 机房数据可视化实现智能化与VR技术的新碰撞

前言 随着各行业对计算机依赖性的日益提高,计算机信息系统的发展使得作为其网络设备、主机服务器、数据存储设备、网络安全设备等核心设备存放地的计算机机房日益显现出它的重要地位,而机房...

xhload3d
昨天
19
0
如何使用.css()应用!important? - How to apply !important using .css()?

问题: I am having trouble applying a style that is !important . 我在应用!important样式时遇到麻烦。 I've tried: 我试过了: $("#elem").css("width", "100px !important"); This doe......

富含淀粉
昨天
5
0
spring源码解析-xml配置文件读取

整个 XML配置文件读取的大致流程如下: 通过继承自AbstractBeanDefinitionReader中的方法,来使用ResourLoader将资源文件路径转换为对应的Resource文件(读取资源文件并将其转为Resource) ...

wc_飞豆
昨天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部