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

Excel公式技巧65:获取第n个匹配的值(使用VLOOKUP函数)

学习Excel技术,关注微信公众号: excelperfect 在查找相匹配的值时,如果存在重复值,而我们想要获取指定的匹配值,那该如何实现呢?...图1 我们知道VLOOKUP函数通常会返回找到的第一个匹配值,或者最后一个匹配值,详见《Excel公式技巧62:查找第一个和最后一个匹配的数据》。...然而,我们可以构造一个与商品相关的具有唯一值的辅助列(详见《Excel公式技巧64:为重复值构造包含唯一值的辅助列》),从而可以使用VLOOKUP函数来实现查找匹配值。...首先,添加一个具有唯一值的辅助列,如下图2所示。 ? 图2 在单元格B3中输入公式: =D3 & "-" &COUNTIF( 下拉至单元格B14。...在单元格H6中输入公式: =VLOOKUP(H2 & "-" &G6,B3:E 即可得到指定的匹配值,如下图3所示。 ? 图3 可以修改单元格H2或G6中的数值,从而获取相应匹配的数据。

7.9K10

Excel公式技巧66:获取第n个匹配的值(使用INDEX函数)

学习Excel技术,关注微信公众号: excelperfect 在《Excel公式技巧65:获取第n个匹配的值(使用VLOOKUP函数)》中,我们构造了一个没有重复值的辅助列,从而可以使用VLOOKUP...函数来查找指定的重复值。...本文中仍然以此为例,使用INDEX函数来获取重复值中指定的值,但是不需要构造辅助列。 如下图1所示的工作表,在“商品”列中,存在一些重复的商品,现在我们要找出第2次出现的“笔记本”的销售量。 ?...图2 公式中: C3:C14=G2 将单元格区域C3:C14中的值与单元格G2中的值相比较,得到由布尔值组成的数组: {TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE...代入INDEX函数中,得到: =INDEX(D3:D14,6) 结果为单元格D8中的值10。 如果使用定义的名称,那么公式将更灵活,如下图3所示。 ?

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

    2022-10-05:在一个 n x n 的整数矩阵 grid 中, 每一个方格的值 grid 表示位置 (i, j) 的平台高度。 当开始下雨时,

    2022-10-05:在一个 n x n 的整数矩阵 grid 中,每一个方格的值 gridi 表示位置 (i, j) 的平台高度。当开始下雨时,在时间为 t 时,水池中的水位为 t 。...你可以从一个平台游向四周相邻的任意一个平台,但是前提是此时水位必须同时淹没这两个平台。假定你可以瞬间移动无限距离,也就是默认在方格内部游动是不耗时的。当然,在你游泳的时候你必须待在坐标方格里面。...你从坐标方格的左上平台 (0,0) 出发。返回 你到达坐标方格的右下平台 (n-1, n-1) 所需的最少时间 。...时间复杂度:O(N*2logN)。空间复杂度:O(N**2)。代码用rust编写。...let mut visited: Vec> = repeat(repeat(false).take(m as usize).collect()) .take(n

    1K10

    自然语言处理作业(实现bigram)

    我们需要得到的bigram是一张大表,即一个n\times n的矩阵,其中n表示不重复的单词个数。这个矩阵第i行第j列的值表示:前一个词是w_i,当前词是w_j的概率。...例如下面这个矩阵,第一行第二列表示,前一个词是i,当前词是want的概率为0.33 image.png 直接计算这个概率似乎是非常难的,我们应该先计算频次,即同样是这个n\times n的矩阵,但这个矩阵里的值不再是频率...例如下面这个矩阵,第二行第三列表示,前一个词是want,当前词是to总共出现了608次 image.png 有了这个频次表之后,只需再统计一下每个词出现的次数,用这个频次表的每一行除以每个词出现的次数,...基本做法就是遍历每个句子,同时遍历句子中的每个单词。记前一个词为w_i,当前词为w_j,通过word2idx_dict查得w_i对应的索引为i,w_j对应的索引为j,则矩阵中(i,j)位置的值就加1。...的每一行同除以wordcount_dict中的每个值即可,下面代码利用了numpy的广播机制,加快了运算速度 def compute_bigram_table(c_table_np, wordcount_dict

    1.2K80

    numpy模块(对矩阵的处理,ndarray对象)

    ,j为矩阵的列""" return i*j # 使用函数对矩阵元素的行和列的索引做处理,得到当前元素的值,索引从0开始,并构造一个3*4的矩阵 print(np.fromfunction(func...两个矩阵对应元素相乘 / 两个矩阵对应元素相除,如果都是整数则取商 % 两个矩阵对应元素相除后取余数 **n 单个矩阵每个元素都取n次方,如**2:每个元素都取平方 4.矩阵的行和列互换(transpose...(axis=0)每列 (axis=1)每行 # 获取矩阵所有元素中的最大值 print(arr.max()) # 获取举着每一列的最大值 print(arr.max(axis=0)) # 获取矩阵每一行的最大值...()) # 获取矩阵每一列的平均值 print(arr.mean(axis=0)) # 获取矩阵每一行的平均值 print(arr.mean(axis=1)) # 获取矩阵所有元素的方差...print(arr.var()) # 获取矩阵每一列的元素的方差 print(arr.var(axis=0)) # 获取矩阵每一行的元素的方差 print(arr.var(axis=1

    95020

    不一样的 NumPy教程,数值处理可视化

    此文将介绍一些主要的 NumPy 使用方法,以及在机器学习模型中应用数据前,NumPy 显示不同类别数据(表格、图像、文本等)的方式。 ?...矩阵的运算 如果两个矩阵大小相同,则可以使用运算符(+-*/)对矩阵进行相加或相乘。NumPy对每一矩阵进行相同的操作: ?...只有当不同的维度为1时(例如,矩阵只有一行或一列),才能在不同大小的矩阵上进行运算。在这种情况下,NumPy会对这一操作使用其broadcast机制: ?...随着一行代码中四项操作一步步推进,可以通过实例来看一下: ? Predictions和labels都包含了三个值,也就意味着n的值为3。进行减法运算后,值会如下呈现: ? 接着就平方向量中的值: ?...很多都适用于在n维数组中数据表达: 表格 · 值的表格是个二维矩阵。表格中的每一张工作簿都会有其自己的变量。

    1.3K20

    机器学习三剑客之NumpyNumpy计算(重要)

    NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。...b.size 数组形状 b.shape 数组维度 b.ndim 数组元素类型 b.dtype 快速创建N维数组的api函数 创建10行10列的数值为浮点1的矩阵 array_one = np.ones...:") result = np.amax(stus_score, axis=0) print(result) print("每一行的最大值为:") result = np.amax(stus_score...75, 81]]) # 求每一行的最小值(0表示列) print("每一列的最小值为:") result = np.amin(stus_score, axis=0) print(result) # 求每一行的最小值...(0表示列) print("每一列的方差:") result = np.std(stus_score, axis=0) print(result) # 求每一行的方差(1表示行) print("每一行的方差

    88360

    基于Jupyter快速入门Python|Numpy|Scipy|Matplotlib

    # 获取一个带有默认值的元素;打印 "N/A" print(d.get('fish', 'N/A')) # 获取一个带有默认值的元素;打印 "wet" del d['fish']...整数数组索引的一个有用技巧是选择或修改矩阵中每一行的一个元素: import numpy as np # 创建一个新数组,我们将从中选择元素 a = np.array([[1,2,3], [4,5,6...例如,假设希望将一个常量向量加到矩阵的每一行,可以这样做: import numpy as np # 将向量v加到矩阵x的每一行, # 结果存储在矩阵y中 x = np.array([[1,2,3],...可以这样实现这个方法: import numpy as np # 将向量v加到矩阵x的每一行, # 结果存储在矩阵y中 x = np.array([[1,2,3], [4,5,6], [7,8,9],...看看这个使用广播功能的版本: import numpy as np # 将向量v加到矩阵x的每一行, # 结果存储在矩阵y中 x = np.array([[1,2,3], [4,5,6], [7,8,9

    72010

    超级攻略!PandasNumPyMatrix用于金融数据准备

    数据准备是一项必须具备的技术,是一个迭代且灵活的过程,可以用于查找、组合、清理、转换和共享数据集,包括用于分析/商业智能(BI)、数据科学/机器学习(ML)和自主数据集成中。...股市数据获取的几个模块 Tushare Tushare是一个免费、开源的python财经数据接口包。...使用daily函数获取日线数据。...NumPy NumPy是专为简化Python中的数组运算而设计的,每个NumPy数组都具有以下属性: ndim:维数。 shape:每一维的大小。 size:数组中元素的总数。...Matrix 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。由 m × n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵。

    7.3K30

    Python3快速入门(十二)——Num

    _NoValue) 根据指定轴统计矩阵的最大值,axis=0统计矩阵中每一列的最大值,axis=1统计矩阵中每一行的最大值,默认统计矩阵中的最大值。..._NoValue) 根据指定轴统计矩阵的最小值,axis=0统计矩阵中每一列的最小值,axis=1统计矩阵中每一行的最小值,默认统计矩阵中的最小值。..._NoValue) 根据指定轴统计矩阵的平均值,axis=0统计矩阵中每一列的平均值,axis=1统计矩阵中每一行的平均值,默认统计矩阵中的平均值。..._NoValue) 根据指定轴统计矩阵的方差,axis=0统计矩阵中每一列的方差,axis=1统计矩阵中每一行的方差,默认统计矩阵中的方差。..._NoValue) 根据指定轴统计矩阵的求和,axis=0统计矩阵中每一列的求和,axis=1统计矩阵中每一行的求和,默认统计矩阵中的求和。

    4.7K20

    【干货】计算机视觉实战系列05——用Python做图像处理

    N维空间中,我们可以找到N个这样的坐标轴,我们取前r个去近似这个空间,这样就从一个N维的空间压缩到r维的空间了,但是我们选择的r个坐标轴能够使得空间的压缩使得数据的损失最小。...那么如何计算协方差矩阵,matlab和numpy都可以利用cov(x)进行直接计算。注意这个地方输入的X为一个矩阵,在matlab中默认每一列为一个一维数据,行数代表了数据组的维数。...值得注意的是numpy中的cov函数与matlab不同,其将每一行作为一个一维数据。因此利用cov进行计算,需先对其转置。...mean_X 这个函数中输入军阵X其中该矩阵中存储训练数据,每一行为一条训练数据,返回的是投影矩阵(按照维度的重要性排序)、方差和均值。...该函数首先通过减去每一维的均值将数据中心化,然后计算协方差矩阵对应最大特征值的特征向量,此时可以使用简明的技巧或者SVD分解。

    2.8K70

    Python中的numpy模块

    自带的最高精度的复数类 __version__ 模块的版本号 Part2:模块函数-创造矩阵 通常在使用模块前需要导入模块,会将numpy设置一个np的别名: import numpy...值得注意的是,这类矩阵在内存中的存储方式是按行存储,意思是每一行的内存位置是相邻的,而Matlab与Fortran中的矩阵是按列存储的,因此在Python中按行遍历的运行速度比按列遍历的运行速度要快(至于快多少与矩阵大小和实际情况有关...在Matlab中也有与之相对应的索引方式,最明显的差异有三个:一是numpy矩阵对象的索引使用的是[],而Matlab使用的是();二是在逐个索引方面,numpy矩阵对象的索引通过负整数对矩阵进行倒序索引...如果输入的是一个矩阵,则返回两个数构成的元组,第一个数是每一行占用的内存大小,第二个数是每一数占用的内存大小。...如果输入的是一个张量,则返回三个数构成的元组,第一个数是每一层占用的内存大小,第二个数是每一层中,每一行占用的内存大小,第三个数是每一个数占用的内存大小。

    1.8K41

    超级攻略!PandasNumPyMatrix用于金融数据准备

    数据准备是一项必须具备的技术,是一个迭代且灵活的过程,可以用于查找、组合、清理、转换和共享数据集,包括用于分析/商业智能(BI)、数据科学/机器学习(ML)和自主数据集成中。...股市数据获取的几个模块 Tushare Tushare是一个免费、开源的python财经数据接口包。...使用daily函数获取日线数据。...NumPy NumPy是专为简化Python中的数组运算而设计的,每个NumPy数组都具有以下属性: ndim:维数。 shape:每一维的大小。 size:数组中元素的总数。...由 m × n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵。矩阵运算在科学计算中非常重要,而矩阵的基本运算包括矩阵的加法,减法,数乘,转置,共轭和共轭转置 。

    5.8K10

    Numpy 01

    Yes,否则为No print(res) # 求最大值 print('数组是:\n',stus_score) # 求每一列的最大值(0表示列) result = np.amax(stus_score,...axis=0) print("每一列的最大值为:\n",result) # 求每一行的最大值(1表示列) result = np.amax(stus_score, axis=1) print("每一行的最大值为...:\n",result) # 求最小值 # 求每一行的最小值(0表示列) print("每一列的最小值为:") result = np.amin(stus_score, axis=0) print(result...) # 求每一行的最小值(1表示行) print("每一行的最小值为:") result = np.amin(stus_score, axis=1) print(result) # 求平均值 # 求每一行的平均值...(0表示列) print("每一列的平均值:") result = np.mean(stus_score, axis=0) print(result) # 求每一行的平均值(1表示行) print("每一行的平均值

    34010

    Python学习之numpy札记

    Python语言越来越流行,作为一种解释型语言,被广大程式爱好者广泛使用,相信对于Python中的科学计算模组numpy使用的最多,那么今天就为大家简单总结一下numpy的用法,方便大家查阅。...2. numpy矩阵运算 c = np.sin(a)*10 #对a中每个值取sin, 再乘10, con, tan都是这样的 print(c) print(b中每个数据是不是小于3,...a和矩阵b中的每个值相乘, 相乘之后的数值组成的一个矩阵 print(np.dot(a,b)) #矩阵与矩阵相乘,第一個矩阵的列等于第二个矩阵的行 print(a.dot(b)) #跟上面的结果是一样的...,第一個为第一个的值,第二个为前两个值的和,第三个为前三个的和。。。...print(A[1,:]) #矩阵第2行所有数 print(A[1,2:]) #矩阵第一行第三个列及其以后的數 for row in A: print(row) #迭代每一行 for column

    83220

    NumPy入门攻略:手把手带你玩转这款强大的数据分析和计算工具

    本文NumPy的要点包括: 创建NumPy数组 获取NumPy中数组的维度 NumPy数组索引与切片 NumPy数组比较 替代值 NumPy数据类型转换 NumPy的统计计算方法 01 创建数组 在NumPy...([[1,'Tim'],[2,'Joey'],[3,'Johnny'],[4,'Frank']]) 02 获取NumPy中数组的维度 首先我们通过NumPy中的一个方法arange(n),生成0到n-1...每一行的数据代表了房间的地区,是否是砖瓦结构,有多少卧室、洗手间以及价格的描述。...上述代码中的matrix[0,1],其中0代表的是行,在NumPy中0代表起始第一个,所以取的是第一行,之后的1代表的是列,所以取的是第二列。那么最后第一行第二列就是2这个值了。...之前提到过NumPy中只能有一个数据类型。我们现在读取一个字符矩阵,其中有一个值为空值。其中的空值我们很有必要把它替换成其他值,比如数据的平均值或者直接把他们删除。这在大数据处理中很有必要。

    1.4K30

    从机器学习学python(四) ——numpy矩阵广播及一些技巧

    1、基本运算 考虑下面一个3*4的矩阵,要给每列求和,并且要求出每个元素占本列的百分比,这里不需要用到for循环,直接用numpy的方法即可。...假设矩阵A是3*4的矩阵,则B=A.sum(axis=0)返回的是对矩阵A每一列求和结果的行向量,同理A.sum(axis=1) 返回的是对矩阵A每一行求和结果的列向量。...接下来要求百分比,就用到广播的概念,由于A是3*4的矩阵,B是1*4矩阵,在数学上A/B是没法进行的,但是numpy中,如果用A/B,则会把B扩充成3*4的向量,然后再对应元素相除。 ?...2、广播的通用规则 对于(m,n)矩阵A,(1,n)矩阵B,A与B进行运算(包含加减乘除,下同),则都会将B扩充成(m,n),且每一行的值都一样,都是由第一行扩充出来的。...3、一些建议 ng给的一个建议,是最好不要用到秩是1的矩阵,而要将其转为n行1列的矩阵,这样计算起来比较不容易发生问题。

    1.8K40

    主成分分析降维(MNIST数据集)

    ,其中该矩阵中存储训练数据,每一行为一条训练数据 保留前n个特征top_n_feat,默认全保留 返回:降维后的数据集和原始数据被重构后的矩阵(即降维后反变换回矩阵) "...) # 对特征值进行从小到大排序,argsort返回的是索引,即下标 eig_val_index = eig_val_index[:-(top_n_feat + 1) : -1] # 最大的前top_n_feat...个特征的索引 # 取前top_n_feat个特征后重构的特征向量矩阵reorganize eig vects, # shape为(784, top_n_feat),top_n_feat最大为特征总数...通过数据集的协方差矩阵及其特征值分析,就能求得这些主成分的值。 统计学中的几个概念 平均值 这个最为熟悉最不容易忘记,描述样本集合的中间点。 标准差 描述样本集合中各个点到平均值的距离。...使用np的cov函数计算协方差矩阵,api入下: numpy.cov(m, y=None, rowvar=True, bias=False, ddof=None, fweights=None, aweights

    1.3K80

    PCA系列(二):数据(.data)处理

    在数据挖掘的很多领域,数据内容往往以.data形式给出,因此读取.data文件到矩阵中并对异常值进行处理就变得很重要了。  ...一个.data文件的截图: 该文件为一个1567 X 590的矩阵,每一行代表一个样本。 读取数据到矩阵中 1.先直接pd.read_csv(),然后通过输出了解到数据一共有多少列。...处理异常值nan 1.思路:求得每一列除nan以外数据的平均值,填充到这一列中是nan的地方。...#定义中心矩阵 S = (1/N)*np.dot(np.dot(X.T, H), X) #定义协方差矩阵 val, vec = linalg.eig(S) #求解特征值与特征向量...sorted_indices = np.argsort(-val) #从大到小排序 #取前K个最大的特征值的特征向量 final = np.zeros((K, vec.shape

    60020
    领券