首页
学习
活动
专区
圈层
工具
发布

再见,Excel数据透视表;你好,pd.pivot_table

导读 Excel作为Office常用办公软件之一,其在一名数据分析师的工作日常中也占有一定地位,比如个人就常常倾向于依赖Excel完成简单的数据处理和可视化作图,其中数据处理部分则主要是运用内置函数+数据透视表两大部分...注意这里的缺失值是指透视后结果中可能存在的缺失值,而非透视前的原表中缺失值 margins : 指定是否加入汇总列,布尔值,默认为False,体现为Excel透视表中的行小计和列小计 margins_name...如果既需要统计不同性别各舱位下的生存人数(对应Survived=1),又想统计生存率(生存人数与该分组下总人数的比例),那么仅需在传入aggfunc参数时增加一个mean聚合函数即可: ?...这里,理解pivot的含义主要在于变形,更确切的说是将一个长表整形为宽表,例如SQL中的经典场景列转行,表述的就是这个问题。...pivot由于仅涉及行列重组和变形,所以一般更适用于分类变量;而pivot_table在重组的基础上还增加了聚合统计的过程,所以一般更适用于数值型变量,但对于支持分类变量统计的聚合函数(例如count)

3K51

python数据科学系列:pandas入门详细教程

需注意对空值的界定:即None或numpy.nan才算空值,而空字符串、空列表等则不属于空值;类似地,notna和notnull则用于判断是否非空 填充空值,fillna,按一定策略对空值进行填充,如常数填充...由于该方法默认是按行进行检测,如果存在某个需要需要按列删除,则可以先转置再执行该方法 异常值,判断异常值的标准依赖具体分析数据,所以这里仅给出两种处理异常值的可选方法 删除,drop,接受参数在特定轴线执行删除一条或多条记录...时间类型向量化操作,如字符串一样,在pandas中另一个得到"优待"的数据类型是时间类型,正如字符串列可用str属性调用字符串接口一样,时间类型列可用dt属性调用相应接口,这在处理时间类型时会十分有效。...pandas中的另一大类功能是数据分析,通过丰富的接口,可实现大量的统计需求,包括Excel和SQL中的大部分分析过程,在pandas中均可以实现。...例如,以某列取值为重整后行标签,以另一列取值作为重整后的列标签,以其他列取值作为填充value,即实现了数据表的行列重整。

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

    左手pandas右手Python,带你学习数据透视表

    Python代码的部分,我都做了详细的注释,Excel操作流程我也做了比较详细的说明。后台回复“透视表”可以获得数据和代码。...2.Excel实现 Excel中只需要在上面的基础上,在“值”的地方删掉Account,Quality即可。效果如上图右侧图所示。...2.Excel实现 需要在上一步的基础上,将Price的值字段设置改成求和即可,如上图右图中图所示。结果如上图中间所示。...2.Excel实现 在上面的基础上,将Product拉到“列”的位置即可。 ? 可以看到,有些位置没有对应的值,Pandas默认用NaN填充,Excel则采用置空处理。...2.Excel实现 在上面的基础上,只需在“值”的位置加入Quantity,并将值字段设置为“求和”即可。

    4.4K40

    【Excel新函数】动态数组系列

    Excel里,每行每列所有单元格进行相同逻辑的计算时,常规的做法是在第一个单元格填写公式,然后向下向右填充每一个单元格。如下图所示,计算各洲折后价的表格,蓝色区域所有单元格都要填入一个公式。...近年Excel提供了动态数组运算能力和一系列相关函数,能够类似于Power BI那样,直接在行列层级运算。一方面节省了公式填充复制的工作量,另一方面为更复杂的计算提供了可能性和便捷性。...三、应用案例——查询多列结果 以我们常用的vlookup为例。在下图这种场景中,需要查询不同产品,三个地区的售价。常规做法,我们需要在I2:K2三个单元格中,各写一个相似的vlookup公式。...当然,可以把第三个参数统一改成column()-6,直接复制填充即可。 如果使用数组运算,我们只需要在I3单元格输入一个公式,即可自动填充到J和K中。注意,此时的数组是通过大括号来触发的。...上文两个例子中,我们一个公式产生的结果,会自动填充到相邻的范围。假设我们不需要这种扩展填充,希望只显示当前单元格的值,那么我们只需要在公式中的数组部分前面加上@。

    5.3K40

    【愚公系列】《AI智能化办公:ChatGPT使用方法与技巧从入门到精通》 024-ChatGPT的办公应用(ChatGPT在Excel中的应用

    答: 我无法直接生成实际的Excel文件,但我可以提供一个更详细的销售数据样表结构和数据。你可以根据这些信息,在Excel中自行创建一个表格并填入数据进行练习。...数据可视化:创建图表,如销售额随时间的变化趋势图、各类别产品销售额占比的饼图。...2.计算重复值 提示词:我想计算“产品名称”列,“手机”出现的条数。请用Excel公式来计算。 答: 要计算“产品名称”列中“手机”出现的次数,你可以使用COUNTIF函数。...3.计算重复值的总金额 提示词:我想计算“产品名称”列,“手机”的“销售金额”的总和。请用Excel公式来计算。...答: 要在Excel中使用VBA代码来为A1:A6区域的每一个单元格增加复选框,并且将这些复选框与对应的单元格链接,你可以按照以下步骤进行: 打开Excel,然后打开你需要操作的工作表。

    6.4K20

    个人永久性免费-Excel催化剂功能第81波-指定单元格区域内容及公式填充

    在日常数据处理过程中,需要对缺失数据进行填充时,按一定逻辑规则进行处理,实现快速填充,规范数据源。此篇给大家带来多种填充数据的场景。...空数据向下填充 填充后的数据结果 除了空值填充外,还有一大需求是单元格区域的公式统一化填充。需要在此进行简单的科学数据化管理的小普及。...如下图的将会处理为金额列的统一逻辑为:单价列*数量列 未进行公式统一化时的模拟数据,有空值,有手工填写的数据 功能实现 功能入口 在常规的空值填充功能中,Excel催化剂很早就已实现,绝大部分插件也会做这样的简单功能...image.png 按行/列填充公式 先特意构造多列需填充数据源,按行和按列只是方向上的不同,如下图,想分别填充金额、金额1、金额2三列的数据,按列的方向去填充。按行的同理,场景可能不多。...image.png 不要小看这么简单的一个小功能,里面是涉及了科学的数据管理方法论为依据的,同一列的数据,在计算列中,需要将其进行逻辑同一,不能同时出现两种数据逻辑在同一列中出现,否则数据结果是需要被质疑的

    1.1K10

    #Python小技巧#教你用Python在Excel里画画

    ()是获取图片色彩值的函数,需传入一个tuple或list,值为像素坐标xy openpyxl 使用 openpyxl几乎是 Python 里功能最全的操作 excel 文件的库了,这里也只需要用到它的一小部分功能...fill_type="solid"是填充类型,fgColor=hex_rgb是填充的颜色 workbook.save()保存文件,需传入要保存的文件名 写一段代码 写这一个画图的需求需要用到的核心就是上面介绍的...在经过更换图片、更换 excel 版本,修改代码等不充分各种测试,才找到问题的原因所在。...原来是因为,excel 的原形是由多个 xml 文件,填充的颜色都存储在一个style.xml文件里面,当这个文件过大就会导致打开的时候报错。...这个当然是我测试信口开河得来的。 既然是有颜色数量跟单元格数这两个变量,那么自然要有两个测试方法以上。一个观察颜色数量,一个观察单元格数。 但我在这里只做了颜色数量的一个测试。

    84730

    ​《爱上潘大师》系列-你还记得那年的DataFrame吗

    DataFrame 每列可以是不同的值类型(数值、字符串、布尔值) DataFrame 中的数据是以一个或多个二维块存放的 那DataFrame 都有哪些创建方式?...key 值,行索引自动填充 当然字典里面的值数据类型你可以尽情变化,Series、元祖、列表等都是可以的 通过列表创建DataFrame 同样的,这里的列表类型也不止一种: 字典组成的列表 Series...method 插值(填充)方式,包括:ffill(前向填充值)、bfill(后向填充值) fill_value 在重新索引的过程中,需要引入缺失值时使用的替代值 limit 前向或后向填充时的最大填充量...在DataFrame中,存在行、列索引,不同于Series 中只有单一索引。...,则使用 fille_value 的值进行填充 还记得前面说的DataFrame 中行、列索引分别是什么吗?

    1.1K00

    Excel VBA 自动填充空白并合并相同值的解决方案

    Excel VBA: 自动填充空白并合并相同值的解决方案问题背景在Excel中经常会遇到这样的数据处理需求:一列数据中存在多个空白单元格,需要用其上方最近的非空值填充,然后将相同的连续值合并成一个单元格...代码说明代码主要分为以下几个部分:初始化设置声明必要的变量获取工作表最后一行设置处理范围填充空白单元格遍历所有单元格如果遇到空白单元格,使用上方最近的非空值填充合并相同值遍历填充后的单元格记录开始单元格和当前值当遇到不同值时...使用方法添加代码到Excel按 Alt + F11 打开VBA编辑器在左侧项目浏览器中双击要添加宏的工作表将代码复制到代码窗口中运行宏方法一:通过VBA菜单按 Alt + F8 打开宏对话框选择 "FillAndMergeCells...注意事项数据备份使用前建议备份原始数据可以使用 Ctrl + Z 撤销操作使用限制默认处理A列数据如需处理其他列,需修改代码中的范围设置性能优化代码中使用了 ScreenUpdating = False...Excel中的空白填充和相同值合并需求。

    2.7K20

    处理非结构化数据的7个实例(附链接)

    帮工作中鲜与数据打交道的人科普一下,根据《福布斯》的报告,数据专家60%的时间都花费在清理和整理非结构化数据上。是的,这花费了很多时间,但我认为这是得出结论的基础。...为了解决该问题,我们创建一个临时的映射层,将代码分配给字符串值,从而通过主数据上的代码从主表中获取正确的拼写以进行操作。...图片来自约翰斯顿高中 在我处理数据的整个生涯中,我几乎一半的时间都会遇到这个问题。我不得不处理不同格式的表的数据。例如,一个是SQL文件,另一个是xlsx文件。...其次,在交付悬而未决的情况下,一个栏位尚未收到任何数据。这意味着要在截止日期前解决,因此我们设法进行数学运算,并使用微分逻辑获取缺失列的值。即使,我们后来收到了我们得出的列的值。...但是,在使用可视化工具时,该问题似乎并不严重,仅需单击几下即可使其变得相关和兼容。 尾声 总之,我相信清理和整理非结构化数据对于交付高质量的结果是至关重要的。

    3.3K30

    新手也能上手的 Python 数据分析与可视化教程:从 Excel 到图表一步步教你做代码操作可视化图表

    准备示例 Excel 文件 在开始编写代码前,我们先准备一个简单的 Excel 文件,方便示例演示与练习。...# 查看是否有缺失值统计 df.isnull().sum() 解释:isnull().sum() 会输出每一列缺失值的数量,用于判断是否需要做后续的缺失值处理。...df_dropna = df.dropna(axis=0, how="any") # 删除任意列有缺失值的行 用特定值填充:如数值类列用 0、均值、中位数填充,类别型列用“未知”或众数填充。...”填充“地区”缺失值 df["地区"].fillna("未知", inplace=True) 按组填充:对分组后的缺失值,用同组的均值/中位数填充。...,会被覆盖;若不想覆盖,需先判断文件是否存在或使用不同文件名。

    3.5K20

    个人永久性免费-Excel催化剂功能第73波-数据转换:单行多项目转多行单项目

    如何让这个过程可以更加轻松一点,是Excel催化剂为大家所想的,今天带来一大刚需的数据转换功能,将多个项目列转多行单项目。...转换后的数据结构 当然更复杂的将会是多个多项目列的两两组合的结果,如下图所示 多个项目组合的数据结构 如上图,可以分析到不同组合下的出现频次,在某些场景下还是有必要进行不同组合的频次分析。...是否重复行数列,若需要按指定列的数字进行多行重复填充,可利用此功能实现。...数据源列转换配置 步骤3:生成结果表 根据步骤2设置的内容,生成结果表,如下图,其中重复数一列内容用原数字作填充,如下图所示重复A姓名行在拆分列两两组合基础上再重复6次。...结果表示例 结语 需要Excel已经使用了PowerQuery这样的轻量化ETL工具进行数据处理、转换,但往往在非界面化操作外的使用M语言来实现,对普通人要求门槛还是过高,不妨使用插件,一键完成既定的有清晰逻辑关系的数据转换

    91250

    2022年最新Python大数据之Excel基础

    与当前工作表引用相同,被引用单元格修改,引用单元格同样变化。 数据清洗 数据去重 用删除重复项功能 删除重复项是Excel提供的数据去重功能,可以快速删除重复项。...3.忽略默认值,不去处理 用平均值填充缺失值 •选择B列数据,计算平均值 •将平均值单独复制一行(选择值粘贴),务必复制,否则将会出现循环引用。...循环引用:A单元格中的公式应用了B单元格,B单元格中的公式又引用了A •Ctrl+G唤出定位菜单,选的定位空值,找到B列的所有空值 •应用平均值数据,按住Ctrl+Enter同时填充所有缺失值位置 数据加工...填充序号,此时数据已经排序,只需要在第一个单元格输入”1”,再用拖动复制的方法,即可快速填充排名。 按颜色排序 在数据分析前期,可以将重点数据标注出来,如改变单元格填充底色、改变文字颜色。...•选择你要修改的图表类型,点击确定,图表类型更换完成 1.有些情况下,需要把某个数据系列设置为另一种图表类型 •同样右键点击,唤出下拉菜单,点击更改图表类型。

    12K20

    构建AI智能体:五、Pandas常用函数介绍,CodeBuddy智能化处理Excel数据实例

    常用数据结构说明: Series:一维数组,与Numpy中的一维array类似,可以保存不同种数据类型,包括字符串、boolean值、数字等。 Time-Series:以时间为索引的Series。...df.T # 数据转置 转置的主要应用场景: 矩阵运算: 在进行线性代数运算时,如矩阵乘法,转置操作是必不可少的‌转置后的矩阵可以简化某些数学运算过程​​​​​​数据可视化: 在做数据报表展示时,转置数据可以更直观地展示在图表中‌以不同视角呈现数据...其核心参数包括: left/right:待合并的两个数据集 on:指定连接的列名,需在两个数据集中存在 how:定义连接方式(默认为inner,其他选项包括left、right、outer) ‌连接类型‌...左连接(left)‌:保留左侧数据集所有行,右侧匹配缺失值填充NaN。‌‌ ‌右连接(right)‌:保留右侧数据集所有行,左侧匹配缺失值填充NaN。‌‌ ‌...外连接(outer)‌:保留所有行,未匹配部分填充NaN。‌‌ ‌高级用法‌: ‌多列匹配‌:通过on指定多列作为复合键。‌‌ ‌

    50710

    商业数据分析从入门到入职(3)Excel进阶应用

    ,需要在定位条件中选择可见单元格。...在Excel中也有真和假,即TRUE和FALSE,TRUE对应1,FALSE对应0。 对一列根据条件进行不同赋值,如下: ?...可以看到,TRUE和FALSE可以参与运算; 在使用表格中的值代替常量进行计算时,出现了引用的问题,默认一般是相对引用,即在进行填充时一般是使用的相同行对应列的数据,如=(A3"中部地区")*8+...K3、=(A4"中部地区")*8+K4,而此时K4位置的值为空,数值时默默认为0,因此结果为8; 此时要想达到目标,需要使用绝对引用,即使用K3位置的值,此时只需要在行列序号前加$符号即可,可以选中...显然,很快自动统计出是否报名; 这是通过IF和COUNTIF结合使用实现的,Excel中结合各种工具可以实现很丰富的功能。 还可以填充颜色,需要使用到条件格式: ?

    2.8K10

    Python与Excel协同应用初学者指南

    在处理数据时,需要在某个时候处理电子表格;然而,直接处理电子表格有时会让人恼火,尤其当你是一名开发人员的时候。...、$、%、^,等等,因为特殊字符不会告诉任何有关数据的信息。 数据在某些列中可能缺少值。确保使用NA或完整列的平均值或中位数来填充它们。...可以在下面看到它的工作原理: 图15 已经为在特定列中具有值的行检索了值,但是如果要打印文件的行而不只是关注一列,需要做什么? 当然,可以使用另一个for循环。...另一个for循环,每行遍历工作表中的所有列;为该行中的每一列填写一个值。...5.用值填充每行的所有列后,将转到下一行,直到剩下零行。

    23.4K20

    VLookup及Power Query合并查询等方法在大量多列数据匹配时的效率对比及改善思路

    ,然后统一向下扩展填充至所有行,从开始填充起计算至填充完成的时间,如下图所示: 四、4种数据匹配查找方法 1、VLookup函数,按常用全列匹配公式写法如下图所示: 2、Index+Match函数,...经过分别对以上4中方法单独执行多列同时填充(Power Query数据合并法单独执行数据刷新)并计算时间,结果如下表所示: 从运行用时来看: VLookup函数和Index+Match函数的效率基本一样...在思考这些问题的时候,我突然想到,Power Query进行合并查询的步骤,其实是分两步的: 第一步:先进行数据的匹配 第二步:按需要进行数据的展开 也就是说,只需要匹配查找一次,其它需要展开的数据都跟着这一次的匹配而直接得到...于是,我首先用Match函数构建一个辅助列,用于获取匹配位置,如下图所示: 然后,通过Index函数,直接根据辅助列的位置从订单表里读取相应的数据,如下图所示: 分不同情况执行如下: 单独填充位置列...七、结论 在批量性匹配查找多列数据的情况下,通过对Index和Match函数的分解使用,先单独获取所需要匹配数据的位置信息,然后再根据位置信息提取所需多列的数据,效率明显提升,所需匹配提取的列数越多,

    6.3K20

    VLookup等方法在大量多列数据匹配时的效率对比及改善思路

    ,然后统一向下扩展填充至所有行,从开始填充起计算至填充完成的时间,如下图所示: 四、4种数据匹配查找方法 1、VLookup函数,按常用全列匹配公式写法如下图所示: 2、Index+Match函数,...经过分别对以上4中方法单独执行多列同时填充(Power Query数据合并法单独执行数据刷新)并计算时间,结果如下表所示: 从运行用时来看: VLookup函数和Index+Match函数的效率基本一样...在思考这些问题的时候,我突然想到,Power Query进行合并查询的步骤,其实是分两步的: 第一步:先进行数据的匹配 第二步:按需要进行数据的展开 也就是说,只需要匹配查找一次,其它需要展开的数据都跟着这一次的匹配而直接得到...于是,我首先用Match函数构建一个辅助列,用于获取匹配位置,如下图所示: 然后,通过Index函数,直接根据辅助列的位置从订单表里读取相应的数据,如下图所示: 分不同情况执行如下: 单独填充位置列...七、结论 在批量性匹配查找多列数据的情况下,通过对Index和Match函数的分解使用,先单独获取所需要匹配数据的位置信息,然后再根据位置信息提取所需多列的数据,效率明显提升,所需匹配提取的列数越多,

    7.2K50

    SpEL应用实战

    实现方案方案 1(简写):无脑堆 if else缺点:每新增一个渠道,都要在原有代码基础上添加参数处理逻辑,导致代码臃肿,难以维护,难以支持系统的持续演进和扩展。...运行时注入:使用SpEL,可以在运行时动态注入属性值,而不需要在编码时硬编码。这对于需要根据当前上下文动态调整属性值的场景非常有用。...表达式模板化:SpEL支持在表达式中使用模板语法,允许将一些常用的表达式作为模板,然后在运行时通过填充不同的值来生成最终的表达式。这使得表达式的复用和动态生成更加方便。...四、扩展-其他应用-Excel解析需求资金平台需从不同的渠道下载账单,并对账单进行解析,解析后的数据落入流水表。注意不同渠道的账单的头字段和格式存在差异。...方案传统的方式中,解析 Excel 通常需要通过创建实体类来映射 Excel 的结构和数据。每个实体类代表一个 Excel 行或列,需要手动编写代码来将 Excel 数据解析为相应的实体对象。

    71720

    DAX学习分享:十条经验

    而这不同的语境就好比DAX的“上下文”。使用不同的切片器、筛选器、数据透视表的行和列,都会创造不同的“语境”(筛选上下文)。在不同的表中新建计算列,也会有不同的“语境”(行上下文)。 ?...计算列不是什么新知识,就好像在Excel中使用Vlookup添加一列一样,这一列是基于现有的表基础上做运算,它是“静态”的,运算结果不会因为切片器或透视筛选而变化,当你建立好后,它就会保存在文件中,增加你的内存...七 使用PowerBI并下载最新版本 在另一篇文章中从Excel到PowerBI的5个理由, 曾经提及过PowerBI对比Excel的优势。...比如在Excel中可以使用最简单的Vlookup来查询另一张表中的对应结果,在PowerQuery中可以通过合并查询来实现,在PowerPivot中也可以用Related或者Lookupvalue完成同样的效果...但我已经看到很多人在学习了DAX数月之后,那种站在Excel的肩膀上,超越Excel,笑看过往的喜悦。 你,到了第几层境界了呢?

    3.9K41
    领券