数组np.array的集合运算
- np.unique(x):计算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中
- np.setxor1d(x,y):集合的对称差,即存在于一个数组中,但不同时存在于两个数组中的元素
列表list的集合运算
- a = t $|$ s : t 和 s的并集
- b = t & s : t 和 s的交集
- c = t – s : 求差集(项在t中,但不在s中)
- d = t ^ s : 对称差集(项在t或s中,但不会同时出现在二者中)
去掉numpy数组a中与b重复的元素,但是不改变顺序
a=np.array([2,3,4,1,2,3]) b=np.array([4,5])
a[np.in1d(a,b)] Out: array([4])
a[np.in1d(a,b,invert=True)] Out: array([2, 3, 1, 2, 3])
注意:这里使用np.in1d(v,left)返回的结果是布尔值,是left元素在v中,按照v的顺序排列的出现的真假值
链接:https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.in1d.html
删除某个元素
numpy 使用np.del() 删除某个指定位置的元素 list 使用a.remove() 删除指定元素 numpy 不能像list直接删除,但是可以选择提取: a[a!=3] 提取a中不含有3的元素
改变整型
整数元素的array进行numpy集合运算时候,会发生整型变浮点,使用 a.astype(int)
可以改变回来,无论array a 有多少个元素.
链接https://blog.csdn.net/elecjack/article/details/50920318