06 numpy 布尔型索引 集合运算 排序

目录

 

一、布尔类型索引

二、集合运算

三、排序


一、布尔类型索引

import numpy as np

# 创建arr
arr = np.array([[1,2,3],[5,2,8],[1,2,3]])
print('arr = \n{}\n'.format(arr))

#获取arr 中元素大于3的元素
A = arr[arr >= 3]
print("A = {}\n".format(A))

#获取arr 中元素小于3的元素
B = arr[arr < 3]
print("B = {}\n".format(B))

运行结果:

arr = 
[[1 2 3]
 [5 2 8]
 [1 2 3]]

A = [3 5 8 3]

B = [1 2 2 1 2]

二、集合运算

import numpy as np

x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 7, 8])

print('x = {}\n'.format(x))
print('y = {}\n'.format(y))

print('x 和 y 的交集: ', np.intersect1d(x, y))
print('x 和 y 的差集: ', np.setdiff1d(x, y))
print('x 和 y 的并集: ', np.union1d(x, y))

运行结果:

x = [1 2 3 4 5]

y = [2 4 6 7 8]

x 和 y 的交集:  [2 4]
x 和 y 的差集:  [1 3 5]
x 和 y 的并集:  [1 2 3 4 5 6 7 8]

三、排序

一维ndarray排序

import numpy as np

# 1到11的随机ndarray
x = np.random.randint(1, 11, size=(10,))

print('x = {}\n'.format(x))

#对x排序, np.sort(N)方法不会改变N的顺序
y = np.sort(x)
print('y = {}\n'.format(y))

#对x排序 N.sort() 会改变N的顺序
x.sort()
print('排序后的x = {}\n'.format(x))

运行结果:

x = [10  6  6  5  2  6  6  4  2  1]

y = [ 1  2  2  4  5  6  6  6  6 10]

排序后的x = [ 1  2  2  4  5  6  6  6  6 10]

二维ndarray排序,我们需要在 np.sort() 函数中指定是按行排序,还是按列排序。为此,我们可以使用关键字 axis

import numpy as np

# 1到11的随机ndarray
x = np.random.randint(1, 11, size=(5,5))

print('x = {}\n'.format(x))

#按照列排序
y = np.sort(x, axis=0)
print('y = {}\n'.format(y))

#按照行排序
x.sort(axis=1)
print('排序后的x = {}\n'.format(x))

运行结果:

x = [[ 6  5  8  4  6]
 [ 1  1  9  5  3]
 [ 7 10  3 10  4]
 [ 5  1  9  6  2]
 [ 2  9 10  1  2]]

y = [[ 1  1  3  1  2]
 [ 2  1  8  4  2]
 [ 5  5  9  5  3]
 [ 6  9  9  6  4]
 [ 7 10 10 10  6]]

排序后的x = [[ 4  5  6  6  8]
 [ 1  1  3  5  9]
 [ 3  4  7 10 10]
 [ 1  2  5  6  9]
 [ 1  2  2  9 10]]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值