一、Numpy-12.排序、唯一值以及集合逻辑

"""
    np.sort()方法返回的是已经排好序的数组拷贝,而不是对原数组按位置排序
"""
import numpy as np

arr_1 = np.array([1, 4, 3, 6, 2, 5])
print(np.sort(arr_1))

arr_2 = np.random.randn(6)
print(arr_2)
arr_2.sort()  # 这种方法会修改原数组
print(arr_2)

# 唯一值:np.unique(),返回的是一数组中【去重】并【排序】之后形成的数组,相当于纯Python中sort(set(列表))
names = np.array(["Bob", "Akali", "Faker", "Clid"])
print(np.unique(names))  # ['Akali' 'Bob' 'Clid' 'Faker']

# 集合
"""
    数组的集合操作:
        方法                          描述
    ---------------------------------------------------
        np.unique(x)            【去重】并【排序】
        np.intersect1d(x,y)     计算x和y的【交集】,并【排序】
        np.union1d(x,y)         计算x和y的【并集】,并【排序】
        np.in1d(x,y)            计算x中的元素是否包含在y中,返回一个布尔值数组
        np.setdiff1d(x,y)       差集,在X中但不在Y中的x的元素
        np.setxor1d(x,y)        异或集,在x或y中,但不属于x、y交集的元素
"""
arr_3 = np.array([1, 2, 3, 4, 5])
arr_4 = np.array([9, 8, 7, 6, 5])
print(np.intersect1d(arr_3, arr_4))  # [5]
print(np.union1d(arr_3, arr_4))  # [1 2 3 4 5 6 7 8 9]
print(np.in1d(arr_3, arr_4))  # [False False False False  True]
print(np.setdiff1d(arr_3, arr_4))  # [1 2 3 4]
print(np.setxor1d(arr_3, arr_4))  # [1 2 3 4 6 7 8 9]

arr_5 = np.array(["北京", "天津", "上海", "广州", "成都"])
arr_6 = np.array(["天津", "货船", "巴西", "新加坡", "音乐"])
print(np.intersect1d(arr_5, arr_6))  # ['天津']
print(np.union1d(arr_5, arr_6))  # ['上海' '北京' '天津' '巴西' '广州' '成都' '新加坡' '货船' '音乐']
print(np.in1d(arr_5, arr_6))  # [False  True False False False]
print(np.setdiff1d(arr_5, arr_6))  # ['上海' '北京' '广州' '成都']
print(np.setxor1d(arr_5, arr_6))  # ['上海' '北京' '巴西' '广州' '成都' '新加坡' '货船' '音乐']

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值