首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel公式技巧20: 从列表中返回满足多个条件的数据

在实际工作中,我们经常需要从某列返回数据,该数据对应于另一列满足一个或多个条件的数据中的最大值。 如下图1所示,需要返回指定序号(列A)的最新版本(列B)对应的日期(列C)。 ?...IF子句,不仅在生成参数lookup_value的值的构造中,也在生成参数lookup_array的值的构造中。...千万不能忽略了这一要点,即如果采用以下简单方法: =INDEX(C2:C10,MATCH(MAX(IF(A2:A10=F1,B2:B10)),B2:B10,0)) 尽管此公式构造仍可以返回正确的值,但完全不能保证所有情况下都正确...可以将上面的公式解析来验证: =INDEX(C2:C10,MATCH(MAX(IF({FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE},{4;2;5;...为了找到最大值在此数组中的位置(而不是像方案1一样使用MATCH(MAX,…等)组合,那需要重复生成上述数组的子句),进行如下操作: 我们首先给上面数组中的每个值添加一个小值。

9.2K10

如何使用IPGeo从捕捉的网络流量文件中快速提取IP地址

关于IPGeo  IPGeo是一款功能强大的IP地址提取工具,该工具基于Python 3开发,可以帮助广大研究人员从捕捉到的网络流量文件(pcap/pcapng)中提取出IP地址,并生成CSV格式的报告...在生成的报告文件中,将提供每一个数据包中每一个IP地址的地理位置信息详情。  ...报告中包含的内容  该工具生成的CSV格式报告中将包含下列与目标IP地址相关的内容: 1、国家; 2、国家码; 3、地区; 4、地区名称; 5、城市; 6、邮编; 7、经度;...8、纬度; 9、时区、 10、互联网服务提供商; 11、组织机构信息; 12、IP地址;  依赖组件  在使用该工具之前,我们首先需要使用pip3包管理器来安装该工具所需的依赖组件...接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地: git clone https://github.com/z4l4mi/IpGeo.git  工具使用  运行下列命令即可执行IPGeo

6.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 @ExtensionMethod 注解简化从 Map<String, Object> 中获取 Integer 和 Long 类型的值

    使用 @ExtensionMethod 注解简化从 Map 中获取 Integer 和 Long 类型的值 在 Java 编程中,我们经常需要从 Map使用 Lombok 的 @ExtensionMethod 注解来简化这一过程,并提供一个实用的工具类来帮助我们处理从 Map 中获取 Integer...(null); } } 使用 @ExtensionMethod 简化代码 在主类中,我们使用 @ExtensionMethod 注解,将 MyMapUtils 中的方法作为 Map的工具类 MyMapUtils,并使用 @ExtensionMethod 将其方法作为 Map 的扩展方法使用,使得从 Map 中获取特定类型的值变得更加简单和直观...这种方法不仅减少了代码冗余,还提高了代码的可维护性,是我们在日常开发中可以考虑采用的一种技巧。

    8400

    第一次运行 Python 项目,使用 python-pptx 提取 ppt 中的文字和图片

    项目是 powerpoint-extractor ,可以将 ppt 文件中的图片提取出来,并输出到固定的目录。1 安装 python 环境首先打开终端,打开后输入 python3 。...确定电脑上是否已安装 python3,如果输入 python 是查看 mac 上的自带版本。...执行完成之后,可以通过 pip3 list 命令查看已安装包列表 :3 PyCharm 配置通过 PyCharm 打开该项目 :上图,我们发现 python 解释器并没有配置好 ,py 脚本显示 import...点击添加 python 解释器按钮,勾选继承全局包,并确认好 python3 的执行目录是否正确,点击 OK 即可完成配置。...当然,我们也可以通过如下的命令直接执行:欢迎关注我的公众号:勇哥Java实战 ,一起交流学习。

    62710

    【SLAM】开源 | 使用深度学习的方法替换ORBSLAMv2中的特征提取算法,可以在TX2上达到实时

    英国皇家理工学院 论文名称:GCNv2: Efficient Correspondence Prediction for Real-Time SLAM 原文作者:Jiexiong Tang 本文提出了一种基于学习的特征点和描述子提取算法...GCNv2是基于一个为三维射影几何而训练的网络GCN的改进版本。GCNv2被设计用于生成类似于ORB的特征描述子和特征点的算法,其可以很容易的替代ORB特征在ORB-SLAMv2中。...GCNv2可以显著的提升GCN的计算速度,并且不像GCN只能应用于桌面系统。经过本算法改善的ORB-SLAMv2,可以实时运行在嵌入式设备Jetson TX2。...实验结果表明,经过重新训练后的GCNv2网络精度和GCN基本相当, 并且提取的特征鲁棒性足以应用于无人机的控制。 下面是论文具体框架结构以及实验结果: ? ? ? ? ? ? ? ? ? ?...,就可以根据独立的特征,估计相关的回归系数。

    1.6K30

    项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦)

    项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) 发布于 2018-05-10 13:49...---- “项目文件中的已知属性系列”分为两个部分: 项目文件中的已知属性(知道了这些,就不会随便在 csproj 中写死常量啦) - 吕毅 本文:项目文件中的已知 NuGet 属性(使用这些属性,创建...$(Authors): 包的作者;建议指定成在 nuget.org 上的用户名,这样访客可以点击包作者查看到包作者的信息;多个名字用分号分隔。... 引用的项目或包中的指定部分是本项目的依赖项。默认为 all。 引用的项目或包中的指定部分不是本项目的依赖项,应该排除。... 引用的项目或包中的指定部分依然是本项目的依赖项,但是在打 NuGet 包时不作为依赖项(不会传递到下一个项目)。

    2K10

    Java中的对象去重工具类——灵活、高效的去重解决方案

    * @param maintainOrder 是否保持原有列表顺序,true表示保持原顺序,false则不保证顺序 * @param keyExtractors 用于提取去重关键字段的函数集合...比如,从数据库中查询出一批用户数据,但其中可能存在重复记录,我们需要根据某些字段(如姓名、年龄等)来去除重复项。...通过这个工具类,我们可以根据一个或多个字段对对象列表进行去重,并且可以选择是否保持原有列表的顺序。 核心功能 基于字段去重:可以根据对象的一个或多个字段进行去重。...保持顺序:可以选择是否保持原有列表的顺序。 灵活使用:支持任意对象的字段去重,只需传入对应的字段提取器(如User::getName)。...具体步骤如下: 生成组合Key:根据传入的字段提取器,生成一个组合Key(即多个字段的值组成的列表)。

    5200

    3 个 React 状态管理的规则

    只需将此类组件拆分为较小的组件即可。 No.2 提取复杂的状态逻辑 将复杂的状态逻辑提取到自定义 hook 中。 在组件内保留复杂的状态操作是否有意义? 答案来自基本面(通常会发生这种情况)。...因此,由于组件只应关注要渲染的元素和要附加的某些事件侦听器,所以应该把复杂的状态逻辑提取到自定义 hook 中。 考虑一个管理产品列表的组件。用户可以添加新的产品名称。约束是产品名称必须是唯一的。...最重要的是,将复杂的状态管理提取到自定义 hooks 中的好处是: 该组件不再包含状态管理的详细信息 自定义 hook 可以重复使用 自定义 hook 可轻松进行隔离测试 No.3 提取多个状态操作 将多个状态操作提取到化简器中...处理这些操作,就可以创建一个简化器并使组件摆脱状态管理逻辑。 同样,此方法符合 hook 的思路:从组件中提取复杂的状态管理。...有趣的是,reducer 是命令模式的特例。 总结 状态变量应只关注一个点。 如果状态具有复杂的更新逻辑,则将该逻辑从组件提取到自定义 hook 中。

    1.7K00

    Python3学习笔记 | 十六、Python的语句与语法-迭代器和解析(1)

    f = open() next(f) 这个会从第一行开始读取内容。 从技术角度来讲,迭代协议里,当使用for函数进行迭代时,会传递给iter内置函数,以便可迭代对象中获取迭代器。...在Python3开始正式引入map,之前版本,python2.7也可以使用,但map可以直接返回列表,不需要使用list函数进行转换。后续章节中会继续讲解。...,会延迟计算,在提取内容的时候计算结果。...zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。我们可以使用 list() 转换来输出列表。...五、多个迭代器 vs 单个迭代器 之前看到的range,可以同时使用多个迭代器。这个叫range有着多个迭代器。可以进行索引。但其它的,只能迭代一次。

    71010

    【译】3条简单的React状态管理规则

    2.提取复杂的状态逻辑 将复杂的状态逻辑提取到自定义钩子中。 将复杂的状态操作保留在组件中是否有意义? 创建React Hook是为了将组件从复杂的状态管理和副作用中隔离出来。...因此,由于组件应该只关心要呈现的元素和要附加的一些事件侦听器,所以应该将复杂的状态逻辑提取到自定义Hook中。 让我们考虑一个管理产品列表的组件。用户可以添加新的产品名称。约束是产品名称必须唯一。...最重要的是,将复杂的状态管理提取到自定义Hook中的好处是: 组件不再需要状态管理细节 自定义钩子可以重用 可以很容易地在隔离状态下测试自定义Hook 3.提取多个状态操作 将多个状态操作提取到一个reducer...继续使用ProductsList的示例,让我们添加一个Delete操作,该操作从列表中删除一个产品名称。 现在,您必须编码2个操作:添加和删除产品。...调度删除操作会将产品名称从名称状态中删除。 4.总结 状态变量应该负责一个关注点。 如果状态具有复杂的更新逻辑,则将该逻辑从组件中提取到自定义Hook中。

    2.1K40

    Java8_03_流

    例如, 给定单词列表[" Hello"," World"], 你想要返回列表[" H"," e"," l", “o”," W"," r"," d"]。...归约和汇总 但凡要把流中所有的项目合并成一个结果时就可以用收集器 使用归约汇总可以得到如下结果: 计数 最大最小值 总和 平均值 IntSummaryStatistics(包含上面的所有结果) 2.1...分组 (1)简单分组 一个常见的数据库操作是根据一个或多个属性对集合中的项目进行分组。 假设你要把菜单中的菜按照类型进行分类,有肉的放一组,有鱼的放一组,其他的都放另一组。...如图6-4所示,分组操作的结果是一个Map,把分组函数返回的值作为映射的键,把流中所有具有这个分类值的项目的列表作为对应的映射值。...那么要进行二级分组的话,我们可以把一个内层groupingBy传递给外层groupingBy,并定义一个为流中项目分类的二级标准, MapMap<CaloricLevel, List

    52620

    (数据科学学习手札45)Scala基础知识

    映射   与Python中的字典相似,Scala中的映射就是键值对的集合Map,默认情况下Scala中同样是使用不可变的映射,想要使用可变的映射就必须导入scala.collection.mutable.Map...: scala.collection.mutable.Map[String,Int] = Map(R -> 3, Julia -> 100, Java -> 2, Python -> 1)   7.提取...Map映射中的键集合   我们使用.keySet来提取Map映射中的键名集合: scala> DemoMap.keySet res3: scala.collection.Set[String] = Set...(R, Julia, Java, Python)   8.提取Map映射中的值集合 scala> DemoMap.values res4: Iterable[Int] = HashMap(3, 100,...  在Scala中,和Python类似,也可以通过多层列表的嵌套来制造多维列表: //声明一个二维列表 scala> var list1 = List(List(1,1),List(2,3)) list1

    2.6K20

    Lambda函数理解与应用

    假设我们有一个Python项目,需要对一个包含客户信息的CSV文件进行处理。我们要做的第一件事是将CSV文件中的数据加载到一个列表中。...= list(csv_reader)现在,我们需要提取客户的姓名并将其存储在一个新的列表中。...我们可以使用以下代码来实现:customer_names = list(map(lambda customer: customer[0], customers))在这个例子中,Lambda函数被用作map...()函数的参数,它将每个客户信息中的第一个元素(姓名)提取出来并存储在一个新的列表中。...在项目中使用Lambda函数可以节省时间和代码空间,并提高代码的可读性和可维护性。注意事项Lambda 函数只适合简单的操作,对于复杂逻辑,建议使用普通的 def 函数。

    9810

    在Python中遇到字符串和数字要分开提取怎么办?这篇文章看完必会!

    从字符串中提取数字 嘿,朋友们!你有没有遇到过这样的情况:手里拿着一堆文本数据,却苦于找不到其中的数字信息?别担心,今天咱们就来聊聊如何在Python中轻松提取字符串里的数字。...()方法查找字符串中所有与正则表达式r'\d+'匹配的数字序列 # r'\d+'是一个正则表达式,其中\d代表数字字符,+代表前面的字符(这里是数字)可以出现一次或多次 # 因此,r'\d+'可以匹配一个或多个连续的数字字符...numbers = re.findall(r'\d+', text) # 返回一个包含所有匹配数字序列(作为字符串)的列表 # 使用列表解析将字符串列表numbers中的每个元素转换为整数...我们遍历了字符串 text 中的每个字符,并使用 isnumeric() 方法来检查它是否是数字字符。...从字符串中提取数字的应用场景 数据清洗与预处理 在数据分析和机器学习项目中,数据通常来源于各种文本格式,如日志文件、用户评论、社交媒体帖子等。

    30400

    「R」用purrr实现迭代

    ,我们可以先将for循环包装在函数中,然后再调用函数,而不是使用for循环,因此for循环在R中不像在其他编程语言中那么重要。...接下来我们将学习和使用purrr包,它提供的函数可以替代很多常见的for循环应用。R基础包中的apply应用函数族也可以完成类似的任务,但purrr包的函数更一致,也更容易学习。...使用purrr函数替代for循环的目的是将常见的列表问题分解为独立的几部分: 对于列表的单个元素,我们能找到解决办法吗?如果可以,我们就能使用purrr将该方法扩展到列表的所有元素。...每种类型的输出都有一个相应的函数: map()用于输出列表 map_lgl()用于输出逻辑型向量 map_dbl()用于输出双精度型向量 map_chr()用于输出字符型向量 每个函数都使用一个向量(注意列表可以作为递归向量看待...当检查多个模型时,有时候我们需要提取像R方这样的摘要统计量,要想完成这个任务,我们需要先运行summary()函数,然后提取结果中的r.squared: models %>% map(summary

    4.8K20

    深度学习目标检测指南:如何过滤不感兴趣的分类及添加新分类?

    在列表中添加新的类别; 2. 或者,从列表中删除类别。 并能自动的让网络“知道”你正在努力完成什么任务。 事实并非如此。...在这里,由于后期需要,我们提取了高度和宽度值。 第 48 和 49 行,从帧图像中生成了 blob。 接下来,我们将 blob 输入到神经 net 中,用于目标检测。...首先,我们提取从检测模型中提取了类标签的索引(第 68 行)。 然后,回顾 Ezekiel 的第一个问题,我们可以忽略在 IGNORE 集合中的列表,在 72 和 73 行。...最后我们了解到,从深度学习目标检测模型中添加或删减类并不像从硬编码中的类标签列表中添加或删减类标签那么容易。...神经网络本身并不关心你是否修改了类标签列表,相反,你将需要: 修改网络结构本身,移除全连接的类预测层,并进行微调; 或者重新训练目标检测框架。

    2.2K20

    深度学习目标检测指南:如何过滤不感兴趣的分类及添加新分类?

    在列表中添加新的类别; 2. 或者,从列表中删除类别。 并能自动的让网络“知道”你正在努力完成什么任务。 事实并非如此。...在这里,由于后期需要,我们提取了高度和宽度值。 第 48 和 49 行,从帧图像中生成了 blob。 接下来,我们将 blob 输入到神经 net 中,用于目标检测。...首先,我们提取从检测模型中提取了类标签的索引(第 68 行)。 然后,回顾 Ezekiel 的第一个问题,我们可以忽略在 IGNORE 集合中的列表,在 72 和 73 行。...最后我们了解到,从深度学习目标检测模型中添加或删减类并不像从硬编码中的类标签列表中添加或删减类标签那么容易。...神经网络本身并不关心你是否修改了类标签列表,相反,你将需要: 修改网络结构本身,移除全连接的类预测层,并进行微调; 或者重新训练目标检测框架。

    2.1K30

    【数据分析丨主题周】用Python脚本模仿Hadoop处理大数据

    将分割出来的较小日志文件分别提交给Map函数进行处理,这时的Map函数可分布在多台计算机中。根据工作量,一个Map函数可以处理多个小日志文件。...例如,若需要统计出网站中最受欢迎的页面(即打开次数最多的页面),则在Map函数中就需从每条日志中找出页面(日志的第5部分,包含“方法+资源+协议”,其中的“资源”就是页面地址),将页面提取出来进行统计。...因此,最好的方式是使用正则表达式来提取页面地址。 得到页面地址后,接着就判断字典中是否已有此地址作为键,若有,则在该键的值上累加1,表示增加了一次访问。若没有该键,则新建一个键,并设置访问量为1。...执行上述脚本,几秒钟时间就可处理完成,在access目录中得到3个后缀为“_map.txt”的文件,如图14-5所示,从执行结果可以看出,经过Map函数的处理,对分割后的约11MB大小的文件进行处理后,...例如,若要统计网站每天不同时段的访问量,则在Map函数中可使用正则表达式提取日志中的访问时间段,并根据一定的规则进行数据统计。

    64920
    领券