机器学习--准备数据与Numpy(四)--利用数组进行数据处理

去重以及其它集合运算


去重以及其它集合运算

类型说明
unique(x)计算x中的唯一元素,并返回有序结果。
intersect1d(x, y)计算x和y中的公共元素,并返回有序结果。求交集,1d表示1维数组。
union1d(x, y)计算x和y的并集,并返回有序结果。求并集,1d表示1维数组。
in1d(x, y)得到一个表述"x的元素是否包含于y"的布尔型数组。
setdiff1d(x, y)集合的差,即元素在x中且不在y中。求差集。
setxor1d(x, y)集合的异或,即存在于一个数组中但不同时存在于两个数组中的元素。求异或。

栗子:
# -*- coding: utf-8 -*-

import numpy as np
import numpy.random as np_random

print('用unique函数去重')
names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])
print(sorted(set(names)))  # 传统Python做法,转为集合,集合元素是唯一的
print(np.unique(names))
ints = np.array([3, 3, 3, 2, 2, 1, 1, 4, 4])
print(np.unique(ints))
print()

print('查找数组元素是否在另一数组')
values = np.array([6, 0, 0, 3, 2, 5, 6])
print(np.in1d(values, [2, 3, 6]))
结果:

用unique函数去重
['Bob', 'Joe', 'Will']
['Bob' 'Joe' 'Will']
[1 2 3 4]

查找数组元素是否在另一数组
[ True False False  True  True False  True]



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值