精华内容
下载资源
问答
  • 交叉表的功能
    千次阅读
    2020-10-25 18:20:13

    交叉表图表也称为文本表,以文本形式显示数据。

    交叉表图表采用一个或多个维度以及一个或多个度量。此图表还可以显示度量字段值的不同计算,例如总百分比,运行总计等。

    例如,如果要查找每个区域中每个细分的销售数量,请考虑数据源:Sample-Superstore。要使用下面的可用订单日期显示每年的数据,请参阅创建交叉表图表的一些步骤。

    第1步:将维度订单日期拖到列架中。

    第2步:此外,将维度RegionSegment 拖动到行架子中。

    第3步:将度量Sales 拖到“标记(Labels)”窗格下的“标签(Marks)”功能区中。

    下面的屏幕截图显示了交叉表图表。

    交叉表图表

    在交叉表图表中,可以通过将“销售(Sales)”字段拖放到“颜色”工具架中来获取编码的颜色值。

    颜色编码根据度量值显示颜色强度。最高值具有较暗的颜色阴影,较小的值具有较浅的颜色阴影,如下面的屏幕截图所示:

    此外,除了颜色编码之外,还可以将计算应用于度量值。

    例如,可以应用计算来查找每行中的销售总额百分比,而不仅仅是“销售(Sales)”字段。

    1.右键单击“标记(Marks)”功能区中的“销售(Sales)”字段。
    2.然后选择“添加表计算(Add Table Calculation)”选项。

    3.打开“表计算(Table Calculation)”窗口。
    4.然后,选择“总计百分比(Percent of Total)”选项作为计算类型,选择“表格(交叉)”选项作为计算使用。

    总计百分比

    完成上述步骤后,将获得使用百分比值创建的交叉表图表,如下面的屏幕截图所示:

    交叉表图表


     

    更多相关内容
  • 在报表页面利用HTML控件添加DIV层,并设置DIV的宽度和高度,通过JS获取页面中的列表或交叉表对象,列表和交叉表均为table控件,通过JS对表的行或列进行操作。
  • 内置“交叉表功能的问题在于它没有考虑丢失的数据。 例如,给定数据: xy 1 0 1 1 1 1 2 0 2 1 4 0 4 0 这应该给出一个列联表: 1 2 1 1 0 0 <- 没有 x=3 的数据2 0 但是,内置函数“crosstab”会给出答案...
  • 针对交叉表导出到excel的功能函数,使用环境pb
  • Pandas中透视表和交叉表

    千次阅读 2020-07-01 12:07:46
    一、 什么是透视表? 二、为什么要使用pivot_table? 三、pivot_table api认识 四、如何使用pivot_table? 五、pivot_table vs. groupby 六、轴转换(透视功能)unstack 七、交叉表crosstab 八、小结


    在这里插入图片描述

    一、 什么是透视表?

    透视表是一种可以对数据动态排布并且分类汇总的表格格式。或许大多数人都在Excel使用过数据透视表(如下图),也体会到它的强大功能,而在pandas中它被称作pivot_table。
    在这里插入图片描述

    二、为什么要使用pivot_table?

    • 灵活性高,可以随意定制你的分析计算要求
    • 脉络清晰易于理解数据
    • 操作性强,报表神器

    三、pivot_table api认识

    pandas.pivot_table(data, values=None, index=None, columns=None,aggfunc=‘mean’, margins=False)

    • data:[必须]需要操作数据 DataFrame
    • values:要进行计算操作的列名 一个列名或列名组成的列表,不给代表对所有列操作
    • index:[必须]分组后作为行索引的列名 一个列名或列名组成的列表
    • columns:分组后作为行索引的列名 一个列名或列名组成的列表
    • aggfunc:指定对values参数所给的列做什么计算操作,可以是字典(分别为不同的列指定不同的计算操作),默认为mean(计算均值)
    • margins:是否进行行汇总和列汇总

    四、如何使用pivot_table?

    4.1 读取数据

    df = pd.read_csv('data/James_Harden.csv',encoding='utf8')
    df.tail()
    

    在这里插入图片描述

    4.2 使用index参数

    每个pivot_table必须拥有一个index,如果想查看哈登对阵每个队伍的得分,首先我们将对手设置为index:

    pd.pivot_table(df,index=[u'对手'])
    
    

    在这里插入图片描述
    上图红框中的数值分别是[对手=‘76人’]这一组数据中[3分命中率,助攻,命中,得分,投篮命中率,投篮数,篮板]这些数据的平均值.

    可以看到,对手成为了第一层索引,还想看看对阵同一对手在不同主客场下的数据,试着将对手胜负主客场都设置为index

    pd.pivot_table(df,index=[u'对手',u'主客场'])
    
    

    在这里插入图片描述
    试着交换下它们的顺序,数据结果一样,只是索引的顺序发生变化:

    pd.pivot_table(df,index=[u'主客场',u'对手'])
    
    

    在这里插入图片描述
    通过上面几个操作,我们可以发现:Index就是层次列,要通过透视表获取什么信息就按照相应的顺序设置列,所以在进行pivot之前你也需要足够了解你的数据。

    4.3 使用values参数

    • 上面的操作中,我们没有指定需要计算的列,所以默认是对除了"index设定的列"之外的所有列进行计算.
    • Values可以指定需要计算的列

    如果我们只需要james harden在主客场和不同胜负情况下的得分、篮板与助攻三项数据:

    pd.pivot_table(df,index=[u'主客场',u'胜负'],values=[u'得分',u'助攻',u'篮板'])
    
    

    在这里插入图片描述

    4.3 使用aggfunc参数

    • aggfunc参数可以设置我们对数据聚合时进行的函数操作。

    • 当我们未设置aggfunc时,它默认aggfunc='mean’计算均值。

    我们还想要获得james harden在主客场和不同胜负情况下的总得分、总篮板、总助攻时:

    pd.pivot_table(df,index=[u'主客场',u'胜负'],values=[u'得分',u'助攻',u'篮板'],aggfunc=[np.sum,np.mean])
    
    

    在这里插入图片描述

    4.3 使用columns参数

    Columns类似Index可以设置列层次字段,它不是一个必要参数,作为一种分割数据的可选方式。

    #fill_value填充空值,margins=True进行汇总
    pd.pivot_table(df,index=[u'主客场'],columns=[u'对手'],values=[u'得分'],aggfunc=sum,fill_value=0,margins=1)
    

    在这里插入图片描述

    pd.pivot_table(df,index=[u'对手',u'胜负'],columns=[u'主客场'],values=[u'得分',u'助攻',u'篮板'],aggfunc=np.mean,fill_value=0)
    
    

    在这里插入图片描述

    五、pivot_table vs. groupby

    你应该理解了pivot_table的用法?是不是在哪见过?

    对,Groupby!

    • pivot_table本质就是分组统计
    • pivot_table可以用groupby实现
    • pivot_table的意义在于可以将两个不同的分组维度进行交叉分析
    • pivot_table
    #按照"主客场"和"胜负"进行分组后进行交叉透视分析
    pd.pivot_table(df,index='主客场',columns='胜负',values='篮板',aggfunc=np.sum,margins=True)
    

    在这里插入图片描述

    • groupby
    #用groupby实现同样的数据统计
    df.groupby(['主客场','胜负'])[['篮板']].sum()
    

    在这里插入图片描述

    • 可以看出,相比pivot_table而言,groupby有以下不同:
      • groupby数据没有交叉透视
      • groupby没有汇总统计

    六、轴转换(透视功能)unstack

    unstack对应的是excel中的透视功能,stack正好相反是逆透视

    • df.unstack(level=-1)
      • level:需要进行逆透视(取消堆叠)的索引级别,默认为-1,即最后一级索引
    • df.stack()
      • 不需要指定参数,功能为逆透视所有列

    下面用groupby配合unstack实现pivot_table:

    table=df.groupby(['主客场','胜负'])[['篮板']].sum()
    table.unstack()
    

    在这里插入图片描述

    七、交叉表crosstab

    crosstab是pivot_table的一种特殊情况

    • crosstab
    pd.crosstab(df['主客场'],df['胜负'])
    
    

    在这里插入图片描述

    • pivot_table
    pd.pivot_table(df,values='篮板',index='主客场',columns='胜负',aggfunc='count')
    
    

    在这里插入图片描述

    八、小结

    • 透视表的作用【知道】

    • pandas.pivot_table(data, values=None, index=None, columns=None,aggfunc=‘mean’, margins=False)

      • values:要计算的字段
      • index:作为行索引的分组字段
      • columns:作为列索引的分组字段
      • aggfunc:要对values做的计算操作函数
    • unstack和stack

      • unstack(level) level:指定要透视的索引级别
      • stack 透视所有列
    • crosstab pivot_table的特殊情况

    展开全文
  • Python数据分析 | (31) 透视表和交叉表

    千次阅读 2019-10-11 12:33:19
    2. 交叉表:crosstab 3. 总结 1. 透视表 透视表(pivot table)是各种电子表格程序和其他数据分析软件中一种常见的 数据汇总工具。它根据一个或多个键对数据进行聚合,并根据行和列上的分 组键将数据分配到各个矩形...

    目录

    1. 透视表

    2. 交叉表:crosstab

    3. 总结


    1. 透视表

    透视表(pivot table)是各种电子表格程序和其他数据分析软件中一种常见的 数据汇总工具。它根据一个或多个键对数据进行聚合,并根据行和列上的分 组键将数据分配到各个矩形区域中。在Python和pandas中,可以通过本博客所 介绍的groupby功能以及(能够利用层次化索引的)重塑运算制作透视表。

    DataFrame有一个pivot_table方法,此外还有一个顶级的pandas.pivot_table 函数。除能为groupby提供便利之外,pivot_table还可以添加分项小计,也叫 做margins。

    回到小费数据集,假设我想要根据day和smoker计算分组平均数 (pivot_table的默认聚合类型),并将day和smoker放到行上:

    tips = pd.read_csv('examples/tips.csv')
    # Add tip percentage of total bill
    tips['tip_pct'] = tips['tip'] / tips['total_bill']
    tips[:6]

    tips.pivot_table(index=['day', 'smoker']) #默认每组执行mean聚合运算

    可以用groupby直接来做。现在,假设我们只想聚合tip_pct和size,而且想根 据time进行分组。我将smoker放到列上,把day放到行上:

    tips.pivot_table(['tip_pct', 'size'], index=['time', 'day'],
                     columns='smoker')

    还可以对这个表作进一步的处理,传入margins=True添加分项小计。这将会 添加标签为All的行和列,其值对应于单个等级中所有数据的分组统计:

    tips.pivot_table(['tip_pct', 'size'], index=['time', 'day'],
                     columns='smoker', margins=True)

    这里,All值为平均数:不单独考虑烟民与非烟民(All列),不单独考虑行分 组两个级别中的任何单项(All行)。

    要使用其他的聚合函数,将其传给aggfunc即可。例如,使用count或len可以 得到有关分组大小的交叉表(计数或频率):

    tips.pivot_table('tip_pct', index=['time', 'smoker'], columns='day',
                     aggfunc=len, margins=True)

    如果存在空的组合(也就是NA),你可能会希望设置一个fill_value:

    tips.pivot_table('tip_pct', index=['time', 'size', 'smoker'],
                     columns='day', aggfunc='mean', fill_value=0)

    pivot_table的参数说明请参见下表:

     

    2. 交叉表:crosstab

    交叉表(cross-tabulation,简称crosstab)是一种用于计算分组频率的特殊透视表。看下面的例子:

    from io import StringIO
    data = """\
    Sample  Nationality  Handedness
    1   USA  Right-handed
    2   Japan    Left-handed
    3   USA  Right-handed
    4   Japan    Right-handed
    5   Japan    Left-handed
    6   Japan    Right-handed
    7   USA  Right-handed
    8   USA  Left-handed
    9   Japan    Right-handed
    10  USA  Right-handed"""
    data = pd.read_table(StringIO(data), sep='\s+')
    data

    作为调查分析的一部分,我们可能想要根据国籍和用手习惯对这段数据进行 统计汇总。虽然可以用pivot_table实现该功能,但是pandas.crosstab函数会 更方便:

    pd.crosstab(data.Nationality, data.Handedness, margins=True)

    crosstab的前两个参数可以是数组或Series,或是数组列表。就像小费数 据:

    pd.crosstab([tips.time, tips.day], tips.smoker, margins=True)

     

    3. 总结

    最近几篇博客我们介绍了pandas数据分组工具,它既有助于数据清理,也有助于建模或统计分析工作。之后,我们会学习几个例子,对真实数据使用groupby。后续的几篇博客我们会关注时间序列数据。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • FastReport交叉报表

    2014-03-25 10:15:33
    FastReport交叉表功能,用的Win8.1 + XE5 + FastReport4环境。 Delphi XE5自带的Fastreport不完整,是从网上重新下的。。 主要用到FastReport的 frxCrossObject 控件,很方便。 在设计报表时,直接拖动数据字段就...
  • 对于普通的表格展示数据,相信大家都非常熟悉了,今天给大家介绍的是BI领域的分析利器-交叉表,这个在BI分析场景中使用占比最多的分析利器。通过交叉表对数据的承载和管理,用户可以一目了然地分析出各种场景指标...

    写在开头

    对于普通的表格展示数据,相信大家都非常熟悉了,今天给大家介绍的是BI领域的分析利器-交叉表,这个在BI分析场景中使用占比最多的分析利器。通过交叉表对数据的承载和管理,用户可以一目了然地分析出各种场景指标以及对比,帮助用户作出决策。

    术语说明

    行和列:行一般是作为一个系列分类的概念,里面通常放置维度字段;列与行对应,是用于展示统计分析的数据,通常放置度量字段。
    钻取:钻取是改变维的层次,变换分析的粒度。它包括向上钻取和向下钻取。通过向导的方式,用户可以定义分析因素的汇总行,例如对于各地区各年度的销售情况,可以生成地区与年度的合计行,也可以生成地区或者年度的合计行。
    联动:通俗讲,就是点击图表上的维度元素,其他相关图表也会按此维度相应变化。
    跳转:单击仪表板中某个图表中的某个字段时,会跳转到与被点击部分相关联的报表(跳转有参数跳转和外部链接两种方式,参数跳转需结合全局参数使用)。

    多角度排序

    很多时候,当我们面对大量数据时,都需要用到排序来知晓 TOP N 等场景,在这里,交叉表提供了两种排序方式。

    全量排序

    全量排序是直接对某个字段(维度/度量)作 Full Ordering(即我们常规的表格排序):
    _1

    分组排序

    分组排序顾名思义,此排序方式将会把数据分成各个大大小小不同层级的小组,然后对组内排序,比如你想看 “男鞋类目 -> 红色鞋子 -> 销量TOP 3”,使用这种排序就可以一目了然了:
    _

    分组汇总

    表格分析的场景中,自然少不了统计相关的信息,这里我们提供了 总计/小计 两种汇总形式,并支持 常规聚合 和 高级聚合 两种统计方式。

    常规聚合

    常规聚合即我们常见的 SUM(默认) / AVG / MAX / MIN ,举个例子,我们想要得到 上海 -> 产品大类 -> 产品子类的平均销售额 情况,只需要在汇总配置中,将“订单数量”的聚合设为 AVG 即可:
    _

    高级聚合

    高级聚合相对于常规来讲,支持用多个其他字段的汇总结果,通过四则运算得到目标字段的汇总结果。比如我们可以实现:利润金额的汇总结果 = AVG(订单金额) * SUM(订单数量) 的效果:
    _2

    钻取 / 联动 / 跳转

    BI分析很重要的一环当属上钻/下钻,以及图表之间的联动展示了,这里我们将演示下如果配置以达到分析效果。另外,交叉表中额外还支持了外部跳转功能,以便可以将分析关联到外部报表或资源。

    钻取

    钻取可算得上BI分析当中使用率非常高的功能,试想一个场景:作为一个销售经理,想要看到 浙江省 的全貌销售数据,然后他想进一步了解 杭州市 的情况,再次去对比杭州市下 办公用品 的销量。那么这个需求就可以通过钻取实现了。
    配置钻取的方式相当简单,我们只需要点击维度字段的“钻取”图表,即可创建一个钻取路径,后续可以往这个钻取路径里添加或删除任意字段,实现任意维度的上钻/下钻:
    _
    钻取配置完成后,老板看报表的时候,就可以在不同的维度之间切换,便捷地洞察不同维度的数据了:
    _

    联动

    如果我们想在交叉表中点击某个省(如“上海”)时,立即让下方的线图和饼图也相应展示“上海”的数据,就可以通过联动来实现了,配置的方式很简单,只需要你指定 该交叉表 与 哪些图表 联动即可(通过字段绑定建立联系):
    _3

    最终的效果如下:
    _

    跳转

    如果我们想通过当前的一个“销售大盘概览”交叉表,点击“上海”那一行对应的“订单数量”值后,立马跳转到对应“销售明细”仪表板,并且展示对应的“上海”的订单明细,我们便可以使用交叉表的跳转功能,结合仪表板的全局参数来实现跨报表联动。配置方式与联动类似,由于篇幅原因,这里暂时不作演示,有兴趣的同学可以深入尝试下。

    条件格式

    熟悉excel操作的同学应该对条件格式不陌生了,有了条件格式,可以方便决策者识别出关键信息点,并且了解到不同阀值的数据指标,当前我们提供了 阶段图标 和 数据条 类型的条件格式,配置方式和常规一致:
    _4
    _5

    最终的展示效果如下:
    _6

    行列混布

    相对于其他BI产品的交叉表,行列混布可以称得上是Quick BI交叉表的一个特色分析功能,有了他,我们可以实现横向和纵向多层的分类结构,满足我们从不同角度更直观看数据的需求。

    比方说:我们想要在行上凸显出“省份 -> 城市”的层级关系,并且还要在列上凸显出“产品类型 -> 产品子类 -> 订单数量/订单金额/利润金额”这样的层级关系,最终对应起来看一个对比数据。那么我们可以进行以下配置:
    _7

    即行上拖入正常的 “省份” “城市” 两个维度,而列上也拖入两个 “产品类型” “产品子类” 维度,并且保留正常的三个度量 “订单数量/订单金额/利润金额”(原理是:拖入列中的维度,将以其“维度值”作为分类指标来进行数据归类)
    最终的展示效果就会变成下面这个样子:
    _

    当然你也可以通过改变维度和度量的位置来实现自己的不同效果(注:度量字段会被强制排在一起),将 行列混布 和 行列转置 一起使用,你会看到更加不同的分析效果,有兴趣的同学不妨一试喔!

    Quick BI 交叉表的新特性介绍大致先讲到这里,限于篇幅原因,本文只详解了交叉表的一部分功能,其他功能:

    行列转置
    聚合/明细查询
    透视表模式
    主题模板
    行序号
    合并同类单元格
    冻结行列
    自动换行
    数据分页
    展示列(列顺序调换、列分组)
    系列别名/描述、对齐方式
    数值格式化(小数位、千分位、单位、百分比)
    多端适配
    ......
    大家可以直接到Quick BI中体验到。

    作者简介:曾昌盛 阿里巴巴前端工程师,现负责阿里集团BI产品(QuickBI 、FBI)的研发工作,深耕BI领域多年,对分析型组件的细节优化有着丰富的经验。

     

    原文链接 

    本文为云栖社区原创内容,未经允许不得转载。

    展开全文
  • **## 期望功能是,点击 “新增” 按钮后,即刻新生成对应的 行 和 列,及相应的文本框,供编辑表格内容用,表格编辑后自动保存(文本框失焦后触发)或手动提交。** * * 问题等同于:如何像excel那样在前端操作...
  • 基于太赫兹波的手性结构超表面的宽带高效交叉极化转换和多功能波前处理
  • Pandas透视表和交叉表

    万次阅读 多人点赞 2017-09-25 16:15:27
    参考:《利用Python进行数据分析》 透视表与交叉表的介绍和例子
  • 标准化交叉表用于标准化交叉表电子表格的 Google Sheets 脚本,因此它们可以更好地与 Tableau 配合使用。 完整的文章在这里: : 转到 将所有内容复制到剪贴板在 Google 表格中,转到Tools > Script Editor... 单击...
  • 一、交叉表统计设置 要计算相对危险度,首先数据需要满足2个条件,第一:因变量和自变量都是二分类变量;第二:各观测数据之间相互独立。因此,我们采用下图1的数据进行相对危险度计算,它们都是二分类变量.
  • 在数据分析中,常常需要用到数据透视表和交叉表,下面介绍pandas.DataFrame.pivot_table数据透视表和pandas.DataFrame.crosstab交叉表的用法和区别。 一、数据透视表 数据透视表用来做数据透视,可以通过一个或多...
  • 微软的项目,作为一个老式的项目管理软件,被许多朋友在工作中使用。...如果只是为了做一个时间表交叉图,使用微软项目真的有点“牛杀鸡”的感觉!关于用微软的Excel制作甘特图有很多教程,但是大部分模板都是...
  • 交叉分析:通常用于分析两个或两个以上,分组变量之间的变量关系,以及交叉表形式进行变量间关系的对比分析 定量、定量分组交叉 定量、定性分析交叉 定性、定性分组交叉 1 交叉统计函数 pivot_table(values,...
  • 个人主页:http://office-access.cn公众号:DataMapHuanyuAccess使用技术2:使用交叉表查询向导进行每日汇总Access交叉表查询可以合并每日的量,日汇总功能对于大量数据统计是很有帮助的,Excel很难胜任。...
  • 一、什么是透视? 透视是一种可以对数据动态排布并且分类汇总的表格格式。 二、透视相关函数 pivot_table(data,index,columns,value,aggfunc,fill_value,margins,margins_name=) index:行分组键 ...
  • 我们在编辑Excel表格的时候,如果数据很多则有可能造成数据的重复输入,这样不仅影响数据的准确性,而且还会浪费我们的时间,不过想要在海量的数据中找到那些重复值也并非易事,下面小编以Excel 2013为例,教大家...
  • 利用Excel电子表格制作交叉报表

    千次阅读 2020-12-24 14:50:48
    电子表格 四、报表制作 那么接下来院长就带着大家一起基于电子表格来制作一张交叉报表,制作流程如下: 第一步:创建关系数据源 创建与业务数据库的连接,获取业务数据库相关资源。 入口:在系统主界面点击数据连接...
  • 透视pivot_table() 透视pivot_table()是一种进行分组统计的函数,参数aggfunc决定统计类型。 1、假设我想要根据sex和smoker计算分组平均数(pivot_table的默认聚合类型),并将sex和smoker放到行上:(因为...
  • 交叉引用 响应式交叉引用:在移动设备上,功能列表固定在一侧,允许用户水平滚动各列。
  • 1、实现了奇偶行不同颜色显示; 2、实现了对长文本列文本的换行; 3、创建公式,实现字符串的连接; 4、实现分页功能; 5、实现交叉表; 6、读取图片。
  • pandas - 交叉表与透视表

    千次阅读 2019-03-12 11:45:47
    应用crosstab和pivot_table实现交叉表与透视表 应用:股票的每日涨跌跟星期几关系大 1 交叉表与透视表什么作用 探究股票的涨跌与星期几有关? 以下图当中表示,week代表星期几,1,0代表这一天股票的涨跌幅是好...
  • SPSS-多重响应--频率和交叉表分析,希望大家能够多提点提点 在云南电信网上营业厅做了一个关于“客户不使用电信3g业务的原因有哪些的问卷调查,问题所示: 这份问卷调查总更有35人参与,样本容量偏少,其中 1:...
  • 也可以直接过来       参考文献:http://blog.sina.com.cn/s/blog_63ac9eda0101bx5k.html   http://baijiahao.baidu.com/s?id=1594198128865683505...
  • MySQL连接查询(多连接查询:内连接,外连接,交叉连接详解) 6:多连接查询 笛卡尔乘积:如果连接条件省略或无效则会出现 解决办法:添加上连接条件 连接查询的分类: 1.按年代分类: 1)sql 92标准:仅仅...
  • Pandas数据处理_分组聚合_透视表交叉表
  • 对列表、交叉表进行拼接,在实际开发中也是很常见的,对于某些业务需求或者性能、

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 104,016
精华内容 41,606
热门标签
关键字:

交叉表的功能