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

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

在实际工作中,我们经常需要从某列返回数据,该数据对应于另一列满足一个或多个条件的数据中的最大值。 如下图1所示,需要返回指定序号(列A)的最新版本(列B)对应的日期(列C)。 ?...IF子句,不仅在生成参数lookup_value的值的构造中,也在生成参数lookup_array的值的构造中。...原因是与条件对应的最大值不是在B2:B10中,而是针对不同的序号。而且,如果该情况发生在希望返回的值之前行中,则MATCH函数显然不会返回我们想要的值。...为了找到最大值在此数组中的位置(而不是像方案1一样使用MATCH(MAX,…等)组合,那需要重复生成上述数组的子句),进行如下操作: 我们首先给上面数组中的每个值添加一个小值。...由于数组中的最小值为0.2,在数组中的第7个位置,因此上述公式构造的结果为: {0;0;0;0;0;0;1;0;0;0} 获得此数组后,我们只需要从列C中与该数组出现的非零条目(即1)相对应的位置返回数据即可

9.2K10

Python 中的字符串、列表、元组和字典数据类型的特点和使用场景

字符串(str)是一种不可变的序列类型,由字符组成。它的特点是: 可以使用单引号或双引号来定义字符串。 字符串中的字符是按照索引进行访问的,索引从0开始。 字符串可以进行切片操作,获取部分子串。...字符串可以进行拼接操作,使用加号(+)来连接两个字符串。 字符串适用于存储文本信息,比如存储名字、句子、网址等。 列表(list)是一种可变的序列类型,由多个元素组成。...它的特点是: 可以使用方括号来定义列表。 列表中的元素可以是不同的数据类型。 列表中的元素是按照索引进行访问的,索引从0开始。 列表可以进行切片操作,获取部分子列表。...它的特点是: 可以使用圆括号来定义元组。 元组中的元素可以是不同的数据类型。 元组中的元素是按照索引进行访问的,索引从0开始。...字典中的键必须是唯一的,值可以重复。 字典中的键和值可以是不同的数据类型。 字典中的元素是无序的,无法通过索引进行访问。 字典适用于存储多个相关的键值对,比如存储一个人的姓名、年龄、性别等信息。

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

    R语言的数据结构(包含向量和向量化详细解释)

    并且三个变量的类型不一样,分别是字符型,数字型,逻辑值。 注意,列表的长度是3,是组件的个数。 列表索引 三种方式访问列表lst中的组件c,返回值是c的数据类型。...直观上看,数据框更类似矩阵,有行和列两个维度,但是数据框与矩阵的不同是,数据框的每一列可以是不同的模式mode。...比如一列数字,一列字符串,一列布尔值。 所以,数据框可以类比为二维矩阵,当然这里的类比是异质性的,因为每个组件的数据类型不同。 技术层面看,数据框是每个组件长度相等的列表。...还有合并 apply族函数在数据框中的用法 apply lapply sapply apply 如果数据框的每一列的数据类型相同,则可以对该数据框使用apply函数。或针对数据框中的某些列应用。...数据框是列表的特例,数据框的列构成列表的组件,所以lapply函数会作用于数据框的每一列,返回返回一个列表。但未知错乱,意义不大。

    7.1K20

    快速掌握apply函数家族推荐这篇文档

    ❞ 下面是 lapply 的基本语法: lapply(数据, 函数) 其中,数据是一个列表或其他数据类型,函数是要对数据执行的操作。...[1] "CHERRY" 注意,lapply 函数的返回值是一个列表,其中每个元素表示对应的数据执行函数后的结果。...❞ 例如,下面的代码使用 sapply 函数将列表中的每个字符串转换为大写: # 创建列表 x <- list("apple", "banana", "cherry") # 使用 sapply 函数对列表中的每个字符串执行...例如,下面的代码使用 apply 函数求出矩阵中每一列的和: # 创建矩阵 x <- matrix(1:9, nrow = 3) # 使用 apply 函数求出矩阵中每一列的和 apply(x, 2,...函数求出矩阵中每一列的最大值: # 创建矩阵 x <- matrix(1:9, nrow = 3) # 使用 apply 函数求出矩阵中每一列的最大值 apply(x, 2, max) [1] 3

    2.9K30

    R语言从入门到精通:Day3

    R语言中有许多存储数据的对象类型,包括了标量、向量、矩阵、数组、数据框和列表。这些数据结构之间的关系如图1所示。 ? 图1:R中的数据结构 下面我们就从向量开始,逐一学习每种数据结构。 1....图2:向量的创建和数据类型 向量的类型 向量的类型包括数值型、字符型和逻辑型等等,我们可以通过上图中的函数typeof()可以用来查看数据类型,这里,a是数值型向量,b是字符型向量,c是逻辑型向量。...数据框(data.frame) 要求:掌握 数据框的构建 在前面介绍的几种数据类型中,都只能包含同模式的数据,但是在实际的数据分析过程中,所有的数据类型都保持一致几乎是不可能的,比如在处理生物数据时...图8:数据框的创建 如上图所示,通过data.frame()函数可以创建数据框,而且数据框中每一列的名称就是每一列向量的名称,当然这些名称也可以自己修改,感兴趣的同学可以试着学习一下函数colnames...图12:列表的访问实例 许多R函数的运行结果都是以列表的形式返回的,结果中的信息则由你自己根据实际情况来取舍了。 ?

    1.8K40

    tcR包:T细胞受体和免疫球蛋白数据进行高级分析和可视化(二)

    “1” ②计算列表中每个数据框的 V区片段usage的香农熵 entropy.seg(twb, HUMAN_TRBV) ③计算两个数据框之间的V-usage的JS差异 js.div.seg(twb[...函数intersectCount返回相似元素的数量;intersectIndices(x, y)返回两列矩阵,第一列表示给定x中一个元素的索引,第二列表示y中的与x中的相对元素相似的元素的索引;intersectLogic...①例:计算在两个或两个以上的人中发现的氨基酸CDR3序列和V基因的共享库,并从输入列表中的每个数据框中返回此类克隆型的Read.count列。...热图 集合的配对距离或相似度可以表示为二元矩阵,其中每一行和每一列表示一个克隆集。vis.heatmap用来可视化。...- get.kmers(twb[[1]]$CDR3.amino.acid.sequence, .head = 100, .k = 7, .verbose = F) #从给定的字符向量或数据框中获取

    3.2K30

    C++ Qt开发:StandardItemModel数据模型组件

    Model/View 是Qt中的一种数据编排结构,其中Model代表模型而View则代表视图,视图是显示和编辑数据的界面组件,而模型则是视图与原始数据之间的接口,通常该类结构都是用在数据库中较多,例如模型结构负责读取或写入数据库...QStringList mimeTypes() const 返回模型支持的 MIME 类型列表。...循环处理每一行数据,分割每行的文本为一个字符串列表 tmpList。 对于每一行,循环处理每一列(不包括最后一列),为模型的某个行列位置设置 QStandardItem。...这个函数主要完成了从字符串列表中获取数据并初始化到 TableView 模型的过程,包括表头的设置、数据的提取和状态的处理。...获取数据区文字,对于每一行的每一列,以制表符 \t\t 分隔,写入文件。最后一列根据选中状态写入 1 或 0。 将表头文字和数据区文字分别追加到 plainTextEdit 文本框中。

    46420

    Day5-橙子

    或 字符串(chr)标量:一个元素组成的变量向量:多个元素组成的变量 #一个向量作为数据框中的一列x的向量写法,意为将x定义为由元素1,2,3组成的向量。...RData时的加载命令在R中,像a这样的变量可以表示各种类型的数据结构,包括但不限于:数据框(Data Frames):如你的例子所示,a是一个数据框,它是一种具有行和列的表格数据结构。...数据框通常用于存储数据集,其中每一列可以有不同的数据类型(数值型、字符型、因子型等)。矩阵(Matrices):矩阵是一个二维数据结构,其中每个元素都是相同的数据类型。...列表(Lists):列表是一种多功能的数据结构,可以容纳不同类型的元素,包括其他列表、向量、矩阵、数据框等。你可以使用list()函数创建列表。...当你使用save()将a保存到文件时,R会将整个对象a以及其结构和数据保存到文件中,无论a是数据框、矩阵、列表或任何其他受支持的数据类型。

    13710

    十二、R语言的综合应用

    只允许一种数据类型,需要先转变成数据框以后才能修改。 1.3.按位置提取字符串 str_sub(x,5,9) ###提取x字符串的第5位到第9位,空格也算一个。...1.4.字符检测 str_detect(x2,"h") ### 看x2这个长度为8的向量中的每个元素是否含有h这个关键词,生成的与x2长度相等且一一对应的逻辑值向量 str_starts(x2,"...Sepal.Length)) #从大到小 2.2 distinct,数据框按照某一列去重复 distinct(test,Species,.keep_all = T) 2.3 mutate,数据框新增一列...2, mean) ### 对test的这个矩阵的每一列求平均值 apply(test, 1, sum) ### 对test的这个矩阵的每一行求和 # 如何挑出100个数字中最大的10个?...# 对列表/向量中的每个元素(向量)实施相同的操作 test <- list(x = 36:33,y = 32:35,z = 30:27);test #返回值是列表,对列表中的每个元素(向量)求均值(

    3.1K30

    R 数据整理(十一: 用purrr包实现更花样的匿名函数使用)

    1. map 族 其实map 除了对向量有用,也可以作用于数据框或矩阵类型,相当于把其中的每一列作为一个单独的元素来看,有点像按列的apply: > map(infos, typeof) $family...较为复杂的数据, 有时表现为列表的列表, 每个列表元素都是列表或者向量。JSON、YAML等格式转换为R对象就经常具有这种嵌套结构。...一般这种类型的数据,导入的R 后就表现为嵌套列表的格式,也就是列表中的每个元素也都是列表。...例如, 需要对一组数据分别保存到文件中, 就可以将数据列表与保存文件名的字符型向量作为walk2()的两个数据自变量。...其他有用的函数 比如keep, 可以专门用来选择数据框各列或列表元素中满足某种条件的子集, 这个条件用一个返回逻辑值的函数来给出。

    2.6K30

    从零开始的异世界生信学习 R语言部分 06 R应用专题

    = T) ##某一个数据第一次出现视为不重复,之后出现的为重复 图片 2.mutate()数据新增列 # mutate,数据框新增一列,新增一列是两列数值的乘积 mutate(test, new =...,只能用于数据框以及矩阵 apply优点在于可以应用自定义函数 ### 1.apply 处理矩阵或数据框 #apply(X, MARGIN, FUN, …) #其中X是数据框/矩阵名; #MARGIN...) ##对test数据框的每一行求和 图片 图片 ### 2.lapply(list, FUN, …) # 对列表/向量中的每个元素(向量)实施相同的操作 test <- list(x = 36:...33,y = 32:35,z = 30:27);test #返回值是列表,对列表中的每个元素(向量)求均值(试试方差var,分位数quantile) lapply(test,mean) lapply...(第一个写的数据框),右表中多余的数据舍去,没有的数据显示缺失值 right_join(test1,test2,by="name") ##右连接,以右侧的表的行为准构成新的数据框(第二个写的数据框),左表中多余的数据舍去

    2.5K30

    R语言入门系列之一

    在R中对象(object)是指可以赋值给变量(variable)的任何事物,在R语言中使用对象来存储数据也即储存变量,对象类型有标量、向量、矩阵、数组、数据框、列表。...示例如下: 数组可以通过三元id进行索引,如下所示: 1.3数据框与因子 有时候通过实验、调查获得的数据不只有一种模式,也即字符型、数值型等混杂在一起(但是每一列必须同一模式),需要一种简单的数据集来存储变量数据...1.4列表 列表(list)是R中最复杂的一种数据类型。列表是一些对象的有序集合,这些对象可以是向量、矩阵、数据框,甚至其他列表。...#为每个对象命名 举例如下: 列表的索引可以使用双括号[[]]加编号或者名字,也可以使用$加名字提取,如下所示: 列表是一种简单的数据组织和调用方式,很多函数的计算结果也是列表(例如lapply()...,默认是一个或多个空格、制表符tab;设置stringsAsFactors=FALSE则不会把字符型自动转化为因子;colClasses可以设置每一列的模式(logical、numeric、character

    4.2K30

    Pandas速查卡-Python数据科学

    格式的字符串, URL或文件. pd.read_html(url) 解析html URL,字符串或文件,并将表提取到数据框列表 pd.read_clipboard() 获取剪贴板的内容并将其传递给read_table...df.groupby([col1,col2]) 从多列返回一组对象的值 df.groupby(col1)[col2] 返回col2中的值的平均值,按col1中的值分组(平均值可以用统计部分中的几乎任何函数替换...) df1.join(df2,on=col1,how='inner') SQL类型的将df1中的列与df2上的列连接,其中col的行具有相同的值。...df.describe() 数值列的汇总统计信息 df.mean() 返回所有列的平均值 df.corr() 查找数据框中的列之间的相关性 df.count() 计算每个数据框的列中的非空值的数量 df.max...() 查找每个列中的最大值 df.min() 查找每列中的最小值 df.median() 查找每列的中值 df.std() 查找每个列的标准差 点击“阅读原文”下载此速查卡的打印版本 END.

    9.2K80

    R3数据结构和文件读取

    ;x;改多个元素x[c(1,5)] 数据框(data.frame,每列只允许一种数据类型,每列数据类型相同也可以),矩阵(matrix,只允许一种数据类型)...,列表(list),用class判断数据结构,因为有的函数只接受特定的数据类型,可用as转换(chat查询想要转换的东西对应的函数),可用view查看数据#重点数据框1.虚拟文件,打开R才可见,不是真实电脑文件...2.数据框要求每列数据的类型相同3.数据框单独拿出一列是向量,降维,#1.数据框data.frame来源# (1)用代码新建,,变量 数据转换或处理得到,变量...具体操作如下:假设有一个数据框为df,要按照其中的column_name列进行排序,可通过以下代码实现:df返回按照column_name列升序排列的数据框...);y[,1],此时赋值不成功,因为y[,1]还是代表矩阵第一列,而矩阵只会允许一种数据类型,要改除非整个矩阵一起改## [1] 40.66667#如果要把矩阵中的字符都转换成数字,需改成数据框class

    2.8K00

    使用管理门户SQL接口(一)

    ,Execute按钮显示查询窗口的Enter参数值,其中每个输入参数的条目字段按查询中指定的顺序。空白字符。可以指定多个空格,单个和多行返回。...这允许取消长时间运行的查询的执行。查询数据显示如果选中了行号框,结果集将作为表返回,行计数器将显示为第一列(#)。 其余的列将按照指定的顺序显示。RowID (ID字段)可以显示或隐藏。...如果流字段中的数据长于100个字符,则显示数据的前100个字符,后跟省略的省略号(...)。数据类型%Stream.GlobalBinary作为的流字段。...字符串数据字段根据需要,以完整的方式显示实际数据。Integer字段在结果表单元格中右对齐。 ROWID,NUMERIC和所有其他字段都是左对齐的。...从Show History列表中执行SQL语句将更新其执行时间(本地日期和时间戳),并增加其计数(执行次数)。可以过滤Show History列表,如下所示:在过滤框中指定一个字符串,然后按Tab键。

    8.4K10

    R语言基础提升与总结

    o","A") str_replace_all(x2,"o","A")1.6 字符删除xstr_remove(x," ")str_remove_all(x," ")2 玩转数据框使用内置数据iris建立新的数据框...,按列拼接成为一个矩阵 do.call完成批量操作4 表达矩阵画箱线图4.1 表达矩阵的概念基因表达的数据通常使用表达矩阵来表示其中矩阵的行代表某个基因在不同样本(不同处理,或时间点等)中的表达水平列表示某个样本中各个基因的表达水平...mutate(group = rep(c("control","treat"),each = 3)) #数据框新增一列#变形的函数 完成宽数据变长数据的操作pdat = dat%>% **pivot_longer...——applyapply(X,MARGIN,FUN…)X:数据框/矩阵名称MARGIN:取值=1表示行;取值=2表示列FUN:具体函数对X的每一行/每一列进行FUN这个函数test每个基因的方差(每个基因是每一行,方差var)2.每个基因方差排列3.最后1000个数字所对应的基因load("test2.Rdata")##里面保存的数据框名字是testdim(test)apply

    18310

    隐式循环及function函数

    apply()函数 apply()一般用于处理矩阵/数据框,返回通过将函数应用于数组或矩阵的边距而获得的向量或数组或值列表。...(test, 2, mean)# 对test的每一列求平均值 apply(test, 1, sum)# 对test的每一行求和 #批量画图 par(mfrow = c(2,2)) apply(iris...[,1:4], 2, plot) lapply()函数 lapply返回与X长度相同的列表,其中的每个元素都是将FUN应用于X的相应元素的结果。...lapply是apply()函数的变种,主要用于处理列表/向量(列表/向量没有行和列的概念,所以会比对矩阵/数据框的操作更简单一些),也更适用于批量读取数据或者处理统计数据 基本语法为: lapply(...Vapply类似于sapply,但它有一个预先指定的返回值类型,因此使用它可能更安全(有时更快)。

    15510

    (数据科学学习手札69)详解pandas中的map、apply、applymap、groupby、agg

    将传入的函数等作用于整个数据框中每一个位置的元素,因此其返回结果的形状与原数据框一致,譬如下面的简单示例,我们把婴儿姓名数据中所有的字符型数据消息小写化处理,对其他类型则原样返回: def lower_all_string...当变量为1个时传入名称字符串即可,当为多个时传入这些变量名称列表,DataFrame对象通过groupby()之后返回一个生成器,需要将其列表化才能得到需要的分组后的子集,如下面的示例: #按照年份和性别对婴儿姓名数据进行分组...可以看到它此时是生成器,下面我们用列表解析的方式提取出所有分组后的结果: #利用列表解析提取分组结果 groups = [group for group in groups]   查看其中的一个元素:...传入的对象是每个分组之后的子数据框,所以下面的自编函数中直接接收的df参数即为每个分组的子数据框: import numpy as np def find_most_name(df): return...可以注意到虽然我们使用reset_index()将索引列还原回变量,但聚合结果的列名变成红色框中奇怪的样子,而在pandas 0.25.0以及之后的版本中,可以使用pd.NamedAgg()来为聚合后的每一列赋予新的名字

    5.1K60
    领券