Python数组排序


import numpy as np
#创建一个二维数组
data=np.sin(np.arange(20)).reshape(5,4)
print("data:")
print(data)
# [[ 0.          0.84147098  0.90929743  0.14112001]
#  [-0.7568025  -0.95892427 -0.2794155   0.6569866 ]
#  [ 0.98935825  0.41211849 -0.54402111 -0.99999021]
#  [-0.53657292  0.42016704  0.99060736  0.65028784]
#  [-0.28790332 -0.96139749 -0.75098725  0.14987721]]
#按照列找除结果最大的索引,返回的是行号
max_ind=data.argmax(axis=0)
print(max_ind)
# [2 0 3 1]
#按照行找除结果最小的索引,返回的是列号
min_ind=data.argmin(axis=1)
print(min_ind)
# [0 1 3 0 1]
#找出最大值
print(data[max_ind,range(data.shape[1])])
#[0.98935825 0.84147098 0.99060736 0.6569866 ]
#找出最小值
print(data[range(data.shape[0]),min_ind])
#[ 0.         -0.95892427 -0.99999021 -0.53657292 -0.96139749]
#数组扩展
a=np.arange(0,40,10)
print(a)
#[ 0 10 20 30]
b=np.tile(a,(3,5))
print(b)

# [[ 0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30]
#  [ 0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30]
#  [ 0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30]]

#排序
a=np.array([
    [14,32,15,7],
    [1,2,1,9],
    [12,3,1,9]
])
print(a)
# [[14 32 15  7]
#  [ 1  2  1  9]
#  [12  3  1  9]]

print(np.sort(a,axis=0))
# [[ 1  2  1  7]
#  [12  3  1  9]
#  [14 32 15  9]]
print(np.argsort(a,axis=1))
# [[3 0 2 1]
#  [0 2 1 3]
#  [2 1 3 0]]
print(np.argsort(-a,axis=1))
# [[1 2 0 3]
#  [3 1 0 2]
#  [0 3 1 2]]
print(a.max())
# 32
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值