图1 在下图2所示的工作簿GetData.xlsm中,根据列C中的数据,在上图1的工作簿Data.xlsx的列E中查找是否存在相应数据的单元格。 ?...图2 然后,将Data.xlsx中对应行的列I至列K单元格中的数据复制到GetData.xlsm相应的单元格中,如下图3所示。 ?... 3 Then MsgBox ("请选择列C中的单元格或单元格区域.")...Exit Sub Else '遍历所选的单元格 For Each rng In Selection '在数据工作表中查找相应的值所在的单元格...注意,要使代码正常运行,应该将两个工作簿都打开。 代码的图片版如下: ?
数据获取 ①列索引取值 使用单个值或序列,可以从DataFrame中索引出一个或多个列。...True表示按连结主键(on 对应的列名)进行升序排列。 【例】创建两个不同的数据帧,并使用merge()对其执行合并操作。 关键技术:merge()函数 首先创建两个DataFrame对象。...= False ) join()方法参数详解 参数 描述 Self 表示的是join必须发生在同一数据帧上 Other 提到需要连接的另一个数据帧 On 指定必须在其上进行连接的键...: 四、数据运算 pandas中具有大量的数据计算函数,比如求计数、求和、求平均值、求最大值、最小值、中位数、众数、方差、标准差等。...关键技术:可以利用行号索引和count()方法来进行计数,程序代码如下所示: 【例】对于给定的DataFrame数据,按索引值进行求和并输出结果。
重要的是,在进行数据分析或机器学习之前,需要我们对缺失的数据进行适当的识别和处理。许多机器学习算法不能处理丢失的数据,需要删除整行数据,其中只有一个丢失的值,或者用一个新值替换(插补)。...这将返回一个表,其中包含有关数据帧的汇总统计信息,例如平均值、最大值和最小值。在表的顶部是一个名为counts的行。在下面的示例中,我们可以看到数据帧中的每个特性都有不同的计数。...我们可以使用的另一种快速方法是: df.isna().sum() 这将返回数据帧中包含了多少缺失值的摘要。...接近正1的值表示一列中存在空值与另一列中存在空值相关。 接近负1的值表示一列中存在空值与另一列中存在空值是反相关的。换句话说,当一列中存在空值时,另一列中存在数据值,反之亦然。...RMED位于同一个较大的分支中,这表明该列中存在的一些缺失值可以与这四列相关联。 摘要 在应用机器学习之前识别缺失是数据质量工作的一个关键组成部分。
比如对于公式=PI()*A@^2: 组成部分包括: 函数 如PI()函数返回pi值3.14159…。 引用 如A2返回单元格A2中的值。 常量 直接输入到公式中的数字或文本值,例如2。...对一列根据条件进行不同赋值,如下: ?...还可以进行混合引用,即位置的行和列中只有一个改变,另一个不改变,不改变的用$修饰。 如下: ? 显然,通过混合引用实现了打印九九乘法表。 函数基本用法如下: ?...SUMIF 和COUNTIF类似,SUMIF是根据条件进行求和的,简单使用如下: 待求和数据所在的列和条件所在的列不是同一列时,稍微复杂一点,如下: 显然,此时需要传递3个参数,才能求和。...还可以根据多个条件进行求和,有多种方式,一种方式是增加辅助列拼接两个条件,再进行求和,如下: 可以看到,计算出来的结果是依赖于辅助列的,如果删除或修改辅助列,结果也会发生变化。
交 叉 表 查 询 交叉表查询可以将同一个表中的一个或多个字段作为行标签,另一个字段作为列标签,然后对表中的某个字段进行某种统计计算(例如计数,求和、平均值等)。...交叉表其实就是按照两个不同的维度来分组进行统计。 在Excel表中很常见(包括数据透视表),例如下图所示的每个班级中男生和女生的数量。其中行标签是班级,列标签是性别,然后进行汇总统计得到结果。...在数据的统计中实际常用到。 ? 示 例 下面就通过步骤演示,来介绍如何创建交叉表进行数据的统计。 将读者表中的读者按照班级和性别,进行分类统计有多少人。...第二步 根据问题需求,要建立的这个交叉表,行标签可以使用班级,列标签可以使用性别。然后值使用计数来统计人数。 下面分别添加班级、性别和会员号字段。(因为会员号是主键,不为空不重复,用来计数合适。)...最后点击运行查看查询的交叉表,行标签为班级,列标签为性别。值为计数。保存即可。 ? 交叉表在统计数据时候是很常用的,注意选择好行标签和列标签后,重要的是选择好值所使用的字段,以及值的统计方式。
数据分组就是根据一个或多个键(可以是函数、数组或df列名)将数据分成若干组,然后对分组后的数据分别进行汇总计算,并将汇总计算后的结果合并,被用作汇总计算的函数称为就聚合函数。...Python中对数据分组利用的是 groupby() 方法,类似于sql中的 groupby。...温故知新,回忆一下有哪些汇总运算: count 非空值计数、sum 求和、mean 求均值、max 求最大值、min 求最小值、median 求中位数、 mode 求众数、var 求方差、std 求标准差...df.groupby(["客户分类","区域"]).sum() #只会对数据类型为数值(int,float)的列才会进行运算 无论分组键是一列还是多列,只要直接在分组后的数据进行汇总运算,就是对所有可以计算的列进行计算...("客户分类").aggregate(["count","sum"]) #对分组后的数据的 用户ID列进行计数运算,8月销量进行求和运算 df.groupby(df["客户分类"]).aggregate
◆ ◆ ◆ 我们开始吧 从导入模块和加载数据集到Python环境这一步开始: ? # 1–布尔索引 如果你想根据另一列的条件来筛选某一列的值,你会怎么做?...在利用某些函数传递一个数据帧的每一行或列之后,Apply函数返回相应的值。该函数可以是系统自带的,也可以是用户定义的。举个例子,它可以用来找到任一行或者列的缺失值。 ? ?...有时同一个类别可以用两种方式来表示。如温度可能被记录为“High(高)”“Medium(中)”“Low(低)”“H(高)”“low(低)”。在这里,无论是“High(高)”还是“H(高)”是指同一类。...在这里,我定义了一个通用的函数,以字典的方式输入值,使用Pandas中“replace”函数来重新对值进行编码。 ? ? 编码前后计数不变,证明编码成功。。...# 12–在一个数据帧的行上进行迭代 这不是一个常用的操作。毕竟你不想卡在这里,是吧?有时你可能需要用for循环迭代所有的行。例如,我们面临的一个常见问题是在Python中对变量的不正确处理。
准备 此秘籍将数据帧的索引,列和数据提取到单独的变量中,然后说明如何从同一对象继承列和索引。...请参阅以下数据类型的计数以验证这一点: >>> movie.isnull().get_dtype_counts() bool 28 dtype: int64 由于布尔值的数值求值为 0/1,因此可以按列对它们进行求和...如果您尝试使用相等运算符对缺失值进行计数并对布尔列求和,则每个数字将得到零: >>> (college_ugds_ == np.nan).sum() UGDS_WHITE 0 UGDS_BLACK...在此示例中,每年仅返回一行。 正如我们在最后一步中按年份和得分排序一样,我们获得的年度最高评分电影。 更多 可以按升序对一列进行排序,而同时按降序对另一列进行排序。...用sort_values替代nlargest 前两个秘籍的工作原理类似,它们以略有不同的方式对值进行排序。 查找一列数据的顶部n值等同于对整个列进行降序排序并获取第一个n值。
不问花开几许,只愿浅笑安然 除了求和,另一个日常工作中最常用到的聚合方式应该是计数了。DAX提供了一系列关于计数的函数。他们可以帮助我们计算表中有多少行或者某个值出现了多少次。...DAX中包含的计数函数有: COUNT()函数,对列中值的数量进行计数,除了布尔型; COUNTA函数,对列中值的数量进行计数,包含布尔型; COUNTBLANK()函数,返回列中空单元格的计数; COUNTROWS...该函数对于列中的同一个值仅计算一次。 二、对行计数 COUNTROWS()函数与其他计数函数不同点之一就是它接受的参数是表。而其他计数函数接受的参数都是列。...COUNTROWS()函数对表中的行进行计数,不管行中是否有空值,都会计算一次。大多数情况下它与COUNT()函数都是可以互相替代使用的。具体选择哪个函数需要视业务情况决定。...在模型中增加以下两个度量值: 销售量:=COUNT('订单表'[产品代码]) 销售量_COUNTROWS:=COUNTROWS('订单表') 将它们放在数据透视表的值区域将得到一样的结果。
在pandas库中实现Excel的数据透视表效果通常用的是df['a'].value_counts()这个函数,表示统计数据框(DataFrame) df的列a各个元素的出现次数;例如对于一个数据表如pd.DataFrame...Excel数据透视表与Python实现对比 就是对表df中的a列各个值出现的次数进行统计。...Pandas中的数据透视表各功能 用过Excel透视表功能的话我们知道,出了统计出现次数之外,还可以选择计算某行的求和、最大最小值、平均值等(数据透视表对于数值类型的列默认选求和,文本类型默认选计数),...df['b'].sum()是对b列求和,结果是21,和a列无关;所以我们可以自己按照根据a列分表再求和的思路去实现。...);sort可以设置是否根据统计值进行排序(关于value_counts函数的更多内容可以再看下官方文档)。
所以,本文将重点解释pandas中的函数pivot_table,并教大家如何使用它来进行数据分析。 如果你对这个概念不熟悉,维基百科上对它做了详细的解释。...pd.pivot_table(df,index=["Manager","Rep"],values=["Price"]) “Price”列会自动计算数据的平均值,但是我们也可以对该列元素进行计数或求和。...mean和len来进行计数。...,为了对你选择的不同值执行不同的函数,你可以向aggfunc传递一个字典。...所以,你可以使用自定义的标准数据帧函数来对其进行过滤。
isna 函数确定数据帧中缺失的值。...avg = df['Balance'].mean() df['Balance'].fillna(value=avg, inplace=True) fillna 函数的方法参数可用于根据列中的上一个或下一个值....where 函数 它用于根据条件替换行或列中的值。...让我们创建一个列,根据客户的余额对客户进行排名。...我们可以检查值计数函数返回的序列的大小或使用 nunique 函数。
在我们的数据分析世界中,当许多输入的序列被汇总或组合为单个值输出时,就会发生汇总。 例如,对一列的所有值求和或求其最大值是应用于单个数据序列的常见聚合。 聚合仅获取许多值,然后将其转换为单个值。...我们根据每个学校的本科生人数对分数进行加权。 操作步骤 读取大学数据集,并在UGDS,SATMTMID或SATVRMID列中删除所有缺少值的行。...将多个变量存储为列值时进行整理 在同一单元格中存储两个或多个值时进行整理 在列名和值中存储变量时进行整理 将多个观测单位存储在同一表中时进行整理 介绍 前几章中使用的所有数据集都没有做太多或做任何工作来更改其结构...由于两个数据帧的索引相同,因此可以像第 7 步中那样将一个数据帧的值分配给另一列中的新列。 更多 从步骤 2 开始,完成此秘籍的另一种方法是直接从sex_age列中分配新列,而无需使用split方法。...在同一单元格中存储两个或多个值时进行整理 表格数据本质上是二维的,因此,可以在单个单元格中显示的信息量有限。
SUMIF 函数 Sum的意思是“加和”,再加上“IF”,意思就是对范围中符合指定条件的值求和。 例如,假设在含有数字的某一列中,需要对大于 1000000 的数值求和。 请使用以下公式: 4....SUBTOTAL函数 SUBTOTAL函数其实是个函数组,就是返回一个列表或数据库中的分类汇总情况。...SUBTOTAL函数可谓是全能王,可以对数据进行求平均值、计数、最大最小、相乘、标准差、求和、方差。 想算什么算什么有木有! 7....Value为数字值。Format_text为设置单元格格式中自己所要选用的文本格式。 9. SMALL & LARGE 函数 SMALL函数可以用来找到一串数据中的第n小的值。...通常可以将两个函数联合起来进行表间关联关系查询,通过match函数找到匹配单元位置号,再用这个位置号,通过index函数找到与匹配值对应的关联值。 为什么别人做事总比你快?这下明白了吧。
单条件查询 注意:检索关键字必须在检索区域的第1列,也就是说如果是根据“姓名”检索,那么检索区域应该从B列开始。...HLOOKUP =HLOOKUP(用谁去找, 匹配对象范围, 返回第几行, 匹配方式) 和VLOOKUP的区别:HLOOKUP返回的值与查找的值在同一列上,而VLOOKUP返回的值与查找的值在同一行上。...A1向下偏移一行,向右偏移一列 计算返回的两行两列的和,如果不求和,则会报错,因为一个cell不能填充四个cell的内容。 ?...HYPERLINK HYPERLINK:创建一个超链接指向link_location,以friendly_name的字符串进行显示,link_location可以是URL链接或文件路径。...例子 单条件计数: ? A1到A3中大于等于10的数量 多条件计数: ? A1到A3中大于5小于10的数量 求和 SUM 功能:计算单元格区域中所有数值的和。
请按照以下链接下载数据,并将其放在与存储Python文件的同一文件夹中。...Python提供了许多不同的方法来对DataFrame进行分割,我们将使用它们中的几个来了解它是如何工作的。...8、筛选不在列表或Excel中的值 ? 9、用多个条件筛选多列数据 输入应为列一个表,此方法相当于excel中的高级过滤器功能: ? 10、根据数字条件过滤 ?...五、数据计算 1、计算某一特定列的值 输出结果是一个系列。称为单列数据透视表: ? 2、计数 统计每列或每行的非NA单元格的数量: ? 3、求和 按行或列求和数据: ? 为每行添加总列: ?...可以使用dictionary函数进行单独计算,也可以多次计算值: ? 七、Vlookup函数 Excel中的vlookup是一个神奇的功能,是每个人在学习如何求和之前就想要学习的。
函数介绍 此篇为分组计算函数,即对一列或多列的去重后出现的组成员中,通过排序列的排序依据,对某指标进行汇总聚合、生成序号、排名、和取其同一组内的某一列的某个值(上一个、下一个、开头、结尾)等功能。...若需要进行以上所提及的操作,请先对返回结果的自定义函数进行数值化处理或删除操作。 ?...分组列为两列时的效果 分组序号 分组序号函数特点,在分组内的记录数中,每一行返回从1开始的不重复的递增的序列,基于排序列定义的顺序,分组列,排序列可以为多列,当排序规则下的排序列相同,将从上往下填充递增序号...使用场景:对于数据清洗工作尤其有用,当数据有重复时,需要去根据分组的唯一值进行去重是保留最开始出现的记录还是最后出现的记录时,只需配合排序列的升序或降序处理,即可仅保留序号为1的记录,其他记录删除的方式实现数据清洗...多个分组列下的单个排序列效果 分组排名 类似以上的分组序号,返回递增的序列值,但此处对重复的值有相同的排名 同时对重复值排名区分了美式排名和中式排名两种 ?
Map 这是一个可以进行简单数据转换的命令。首先定义一个字典,其中'keys'是旧值,'values'是新值。 1....如果你想计算两列“c1”和“c2”的最大值,你可以: 1....A. normalize = True:如果你要检查频率而不是计数。 2. B. dropna = False:如果你要统计数据中包含的缺失值。 3....C. df['c'].value_counts().reset_index(): 如果你想将stats表转换成pandas数据帧并进行操作。 4....缺失值的数量 构建模型时,你可能希望排除具有很多缺失值或全是缺失值的行。你可以使用.isnull()和.sum()来计算指定列中缺失值的数量。 1.
聚合函数: SQL中提供的聚合函数可以用来统计、求和、求最值等等。...但并不是每个位置嵌套子查询都是有意义并实用的,这里对几种有实际意义的子查询进行说明。 现有表两张:一张学生表、一张班表。id相关联 ? ?...还有种情况就是在子查询或联接查询时,主查询及子查询均为对同一张表进行操作,为主、子查询中的表加上不同的别名能够很好的区分哪些列的操作是在主查询中进行的,哪些列的操作是在子查询中进行的,下文会有实例说明。...在子查询或相关查询中,要求出某个列的最大值,通常都是用ALL来比较,大意为比其他行都要大的值即为最大值。...通过上面两例,应该可以明白子查询在WHERE中嵌套的作用。通过子查询中返回的列值来作为比较对象,在WHERE中运用不同的比较运算符来对其进行比较,从而得到结果。
Map 这是一个可以进行简单数据转换的命令。首先定义一个字典,其中 keys 是旧值, values 是新值。...例如,如果你想检查“c”列中每个值的可能值和频率,可以执行以下操作 df[‘c’].value_counts() # 它有一些有用的技巧/参数: normalize = True #如果你要检查频率而不是计数...dropna = False #如果你要统计数据中包含的缺失值。...缺失值的数量 构建模型时,你可能希望排除具有很多缺失值或全是缺失值的行。你可以使用.isnull()和.sum()来计算指定列中缺失值的数量。...另一个技巧是处理混合在一起的整数和缺失值。如果列同时包含缺失值和整数,则数据类型仍将是float而不是int。导出表时,可以添加float_format = %。0f 将所有浮点数舍入为整数。
领取专属 10元无门槛券
手把手带您无忧上云