代码编织梦想

1 python数据分析numpy基础之intersect1d求数组交集

python的numpy库的intersect1d(x,y)函数,计算x和y的公共元素,并返回去重后的有序结果。相当于求两个数组中的交集,并且进行去重和排序。

用法

numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False)

描述

numpy.intersect1()查找两个数组的公共元素,并且返回去重后的有序结果。

入参

ar1,ar2:必选,列表、元组、数组;如果是多维则自动转一维数组;

assume_unique:可选,bool,默认False,若为True则可以加快计算素材,此时ar1和ar2需为元素唯一的数组,否则结果不会去重;

return_indices:可选,bool,默认False,若为True则返回公共元素在ar1和ar2的索引,如果存在多个相同的值,则返回第一个值查询的索引。

1.1 入参ar1和ar2

numpy. intersect1d()的入参ar1和ar2,为必选入参,可以为数组、列表、元组。如果是多维数组,将会转换为一维数组后,进行处理。

>>> import numpy as np
# intersect1d()返回两个数组的公共元素,并且去重和排序
# 入参ar1/ar2为列表
>>> np.intersect1d([1,2,3,5,2],[6,5,2,1,5])
array([1, 2, 5])
# 入参ar1/ar2为元组
>>> np.intersect1d((1,2,3,5,2),(6,5,2,1,5))
array([1, 2, 5])
# 入参ar1/ar2为数组
>>> np.intersect1d(np.array((1,2,3,5,2)),np.array((6,5,2,1,5)))
array([1, 2, 5])
# 入参ar1/ar2为二维数组转为一维数组,再求公共元素并去重排序
>>> np.intersect1d([[3,5,2,6],[0,2,5,8]],[[1,3,5,9],[0,2,6,8]])
array([0, 2, 3, 5, 6, 8])

1.2 入参assume_unique

numpy. intersect1d()的入参assume_unique,为可选入参,布尔类型,默认为False。如果为True可以加快计算速度,并且需要ar1和ar2的元素不重复,否则找到的公共元素会存在重复元素的结果。

>>> import numpy as np
# 入参ar1/ar2有重复元素2和5,assume_unique为True,结果不去重
>>> np.intersect1d([1,2,3,5,2],[6,5,2,1,5],True)
array([1, 2, 2, 5, 5])
>>> np.intersect1d([1,2,3,5,2],[6,5,2,1,5],False)
array([1, 2, 5])
# 入参ar1/ar2无重复元素2和5,assume_unique为True,结果元素不重复
>>> np.intersect1d([1,2,3,5],[6,2,1,5],True)
array([1, 2, 5])

1.3 入参return_indices

numpy. intersect1d()的入参return_indices,为可选入参,布尔类型,默认为False。若为True,返回公共元素在两个数组ar1和ar2的索引值,若存在多个相同的值,返回第1次出现的索引。

>>> import numpy as np
# return_indices=True,则返回公共元素在两个数组ar1和ar2的索引
# 多个相同值,则返回第一次出现的索引
>>> np.intersect1d([1,2,3,5,2],[6,5,2,1,5],return_indices=True)
(array([1, 2, 5]), array([0, 1, 3], dtype=int64), array([3, 2, 1], dtype=int64))
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_34735632/article/details/139050848

python->数据分析之numpy基础(学习笔记-爱代码爱编程

学习了数据分析,基本上是要掌握三个库,分别是numpy,pandas,matplotlib,本篇文章主要讲了numpy的基础。这是篇学习笔记,来源于自己的总结。所以特别基础的内容不会涵盖,可以看作是一篇对自己的知识考核和提醒

数据挖掘Python基础之NumPy基础(下)-爱代码爱编程

前言 前一篇文章我们已经对Numpy有了一个大概的认识,了解了ndarray的几种创建方法,它的索引与切片相关内容以及一些换轴操作。今天我们就来更加深入的了解Numpy的相关操作。 通用函数 通用函数,又可以称为ufunc,是一种在ndarray数据中进行逐元素操作的函数,有很多ufunc是简单的逐元素转换,它们被称为一元通用函数,比如sqrt

python数据分析之numpy-爱代码爱编程

numpy是什么? NumPy(Numerical Python的简称)是Python数值计算最重要的基础包。大多数提供科学计算的包都是用NumPy的数组作为构建基础。 为什么要使用numpy? NumPy是在一个连续的内存块中存储数据,独立于其他Python内置对象。NumPy的C语言编写的算法库可以操作内存,而不必进行类型检查或其它前期工作。比起

【python与数据分析】numpy数值计算基础1——numpy数组及其运算_数据人的自我救赎的博客-爱代码爱编程

目录 前言 一、创建数组 二、测试两个数组的对应元素是否足够接近 三、修改数组中的元素值 四、数组与标量的运算 五、数组与数组的运算 六、数组排序 七、数组重复 八、数组转置 九、数组所有元素累计和与累计积 十、数据的集合运算 十一、数组的点积/内积运算 十二、访问数组中的元素 十三、数组切片 十四、数组对函数运算的支持 十

【python】python中变量或者函数加下划线‘_‘的含义-爱代码爱编程

在Python中,变量或函数前面加一个下划线(_)通常用来指示特定的编程约定或用法,这些约定主要关乎变量和函数的可访问性以及预期的使用范围。以下是一些常见的用法: 单下划线前缀 (_variable): 私有性:

gradio 案例——将 dicom 文件转为 nii文件-爱代码爱编程

文章目录 Gradio 案例——将 dicom 文件转为 nii文件界面截图依赖安装项目目录结构代码 Gradio 案例——将 dicom 文件转为 nii文件 利用 SimpleITK 库,

python学习-爱代码爱编程

核心代码 # 导入pandas库 import pandas as pd # 导入正则表达式包 import re # 指定Excel文件的路径,这个data.xlsx表为原始表,表内有40个sheet子表 file_p

p5490.扫描线(python)-爱代码爱编程

这个洛谷怎么对于python不太友好呢,没几次能全过的 本题使用扫描线的模板,首先把所有x坐标排序去重,放进列表X中。把所有横线lines排序。这样把所有矩阵都分成了块。对于每一块,高=lines[i+1]-lines[i],宽就等于在这一块中,每个矩阵的并。 比如说图中,纵坐标在3-5之间,那么高度就是2,其中有两块矩阵并起来,计算并起来的宽度=

代码随想录算法训练营第二十八天|​216.组合总和iii​、17.电话号码的字母组合-爱代码爱编程

216.组合总和III 文档讲解:代码随想录 题目链接:. - 力扣(LeetCode) 这一题与昨天的组合差不多,区别就在只有和是目标值的时候才会加入到result数组中,并且在回溯时,会处理sum的值 class Solution: def __init__(self): # 初始化路径 se

geopandas快速入门报错1-爱代码爱编程

geopandas快速入门报错1 报错:CRSError: Invalid projection: EPSG:4326: (Internal Proj Error: proj_create: no database con