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

盘一盘 Python 特别篇 15 - Pivot Table

今天介绍的 pivot_table() 函数可以将上面“拆分-应用-结合”三个步骤用一行来完成。...先看一张图: Pivot 字面意思是支点,即上图中的 index 和 columns 指定的行和列标签,支点可想理解成数据 (values) 在哪个维度上做整合 (aggfunc),再吧 NaN 值用...看原 df 最后两行,账户 MM729833 合并成一行,对应的 Price 和 Quantity 是 42500 和 200,看来某种方式是求平均。...pd.pivot_table( df, index=["Counterparty","Trader"] ) 到目前为止,我们只设置了 index,那为什么只在 Price 和 Quantity 两列上做整合呢...=[len, np.sum], fill_value=0 ) 除此之外还可以把产品类别放在 index 中,改变结果的展示方式而已 (那些结果为零都没显示了,看起来更舒服点

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

    5分钟了解Pandas的透视表

    Pandas 库是用于数据分析的流行 Python 包。Pandas 中处理数据集时,结构将是二维的,由行和列组成,也称为dataframe。...数据 在本教程中,我将使用一个名为“autos”的数据集。该数据集包含有关汽车的一系列特征,例如品牌、价格、马力和每公里油耗等。 数据可以从 openml 下载。...索引指定行级分组,列指定列级分组和值,这些值是您要汇总的数值。 用于创建上述数据透视表的代码如下所示。在 pivot_table 函数中,我们指定要汇总的df,然后是值、索引和列的列名。...我们希望确保数据透视表提供的模式和见解易于阅读和理解。在本文前面部分使用的数据透视表中,应用了很少的样式,因此,这些表不容易理解或没有视觉上的重点。...在下面显示的代码和数据透视表中,我们按价格从高到低对汽车制造商进行了排序,为数字添加了适当的格式,并添加了一个覆盖两列值的条形图。

    1.9K50

    在pandas中使用数据透视表

    经常做报表的小伙伴对数据透视表应该不陌生,在excel中利用透视表可以快速地进行分类汇总,自由组合字段聚合计算,而这些只需要拖拉拽就能实现。...透视表是一种汇总了更广泛表数据的统计信息表。 典型的数据格式是扁平的,只包含行和列,不方便总结信息: 而数据透视表可以快速抽取有用的信息: pandas也有透视表?...pandas作为编程领域最强大的数据分析工具之一,自然也有透视表的功能。 在pandas中,透视表操作由pivot_table()函数实现,不要小看只是一个函数,但却可以玩转数据表,解决大麻烦。...,可多选 index:行分组键,一般是用于分组的列名或其他分组键,作为结果DataFrame的行索引 columns:列分组键,一般是用于分组的列名或其他分组键,作为结果DataFrame的列索引 aggfunc...margins_name:汇总行列的名称,默认为All observed:是否显示观测值 注意,在所有参数中,values、index、columns最为关键,它们分别对应excel透视表中的值、行

    3K20

    Pandas进阶|数据透视表与逆透视

    在实际数据处理过程中,数据透视表使用频率相对较高,今天云朵君就和大家一起学习pandas数据透视表与逆透视的使用方法。...默认聚合所有数值列 index 用于分组的列名或其他分组键,出现在结果透视表的行 columns 用于分组的列名或其他分组键,出现在结果透视表的列 aggfunc 聚合函数或函数列表,默认为'mean'...可以使任何对groupby有效的函数 fill_value 用于替换结果表中的缺失值 dropna 默认为True margins_name 默认为'ALL',当参数margins为True时,ALL行和列的名字...行索引和列索引都可以再设置为多层,不过行索引和列索引在本质上是一样的,大家需要根据实际情况合理布局。...columns:指定了要分组的列,最终作为列。 values:指定了要聚合的值(由行列共同影响),需要指定aggfunc参数。 rownames:指定了行名称。 colnames:指定了列名称。

    4.3K11

    在pandas中使用数据透视表

    经常做报表的小伙伴对数据透视表应该不陌生,在excel中利用透视表可以快速地进行分类汇总,自由组合字段聚合计算,而这些只需要拖拉拽就能实现。...透视表是一种汇总了更广泛表数据的统计信息表。 典型的数据格式是扁平的,只包含行和列,不方便总结信息: ? 而数据透视表可以快速抽取有用的信息: ? pandas也有透视表?...pandas作为编程领域最强大的数据分析工具之一,自然也有透视表的功能。 在pandas中,透视表操作由pivot_table()函数实现,不要小看只是一个函数,但却可以玩转数据表,解决大麻烦。...,可多选 index:行分组键,一般是用于分组的列名或其他分组键,作为结果DataFrame的行索引 columns:列分组键,一般是用于分组的列名或其他分组键,作为结果DataFrame的列索引 aggfunc...注意,在所有参数中,values、index、columns最为关键,它们分别对应excel透视表中的值、行、列: ?

    2.8K40

    【数据处理包Pandas】数据透视表

    ,它可以根据一个或多个键对数据进行聚合,并根据行和列上的分组键将数据分配到各个矩形区域中。...fill_value:用于替换缺失值的值。 margins:是否在结果中包含边际汇总,默认为 False。...rownames:可选参数,用于设置结果中行的名称。 colnames:可选参数,用于设置结果中列的名称。 aggfunc:可选参数,用于聚合值的函数,默认为计数。...margins_name:可选参数,用于设置边际总计的名称。 dropna:可选参数,布尔值,默认为True,表示是否删除任何具有缺失值的行。...Series 或数组对象赋值 (3)aggfunc参数默认是统计频数(aggfunc='count');当统计其他聚合信息时,需要同时指定values和aggfunc参数 下面的示例是查看富强同学在不同年份各门课程的最高分

    7400

    利用 Python 生成数据透视表

    了解表格基本情况的习惯 利用 info() 方法查看数据中是否有空值,如果有空值的话,则可以使用 dropna() 方法将其移除。...,如 column=‘新的一列’ value : int ,array,series allow_duplicates : bool 是否允许列名重复,选择 True 表示允许新的列名与已存在的列名重复...=False, dropna=True, margins_name='All', observed=False) values : 要进行透视展示的数据 index : 需要重新进行展示成列,是原始数据中的某一个行...columns : 要重新展示为行的内容,是原来的列或者是其它的属性,可以是列表 aggfunc : 要进行统计的行,可以是 numpy.sum / numpy.mean 等,也可以按列进行统计..., True 显示分类中的数据,False 显示所有数据,默认为 False 示例代码 import pandas as pd from datetime import datetime data

    1.9K10

    自动化生成报表

    ,如 column=‘新的一列’ value : int ,array,series allow_duplicates : bool 是否允许列名重复,选择 True 表示允许新的列名与已存在的列名重复...,是原始数据中的某一个行 columns : 要重新展示为行的内容,是原来的列或者是其它的属性,可以是列表 aggfunc : 要进行统计的行,可以是 numpy.sum / numpy.mean 等,...也可以按列进行统计 aggfunc={'c1' : numpy.mean, 'c2' : numpy.sum} fill_value : 将缺失值替换的值,幽灵将 Nan 换成 0 : fill_value...bool , True 显示分类中的数据,False 显示所有数据,默认为 False import pandas as pd from datetime import datetime data...={"单位3": "单位", "分成比例3": "分成比例"}) data4 = pd.concat([data1, data2, data3], ignore_index=True) # 将数据中的空值清除

    90430

    如何用Python分析泰坦尼克号生还率?

    1912年当时世界上最大的豪华客轮泰坦尼克号在处女航中撞上冰山沉没,船上船员及乘客共有2224人,只有710人生还。...在接下来的分析中,我们会多次用到这个函数,所以先来熟悉下下这个函数: pandas.pivot_table 函数中包含四个主要的变量,以及一些可选择使用的参数。...四个主要的变量分别是数据源 data,行索引 index,列 columns,和数值 values。可选择使用的参数包括数值的汇总方式,NaN值的处理方式,以及是否显示汇总行数据等。...结论:这891名乘客中,生还和未生还的比率分别为 38% 和 62%。...最后需要说明的是,此次数据分析的数据集是从总体中抽样而来的,如果抽样无偏,样本是从总体随机选取,根据中心极限定理,分析结果具有代表性,如果不是随机选出,那么分析结果就不可靠了。

    80031

    【Python常用函数】一文让你彻底掌握Python中的pivot_table函数

    values:要聚合的列,默认对所有数值型变量聚合。 index:设置透视表中的行索引名。 columns:设置透视表中的列索引名。...dropna:是否删除汇总结果中全为NaN的行或列,默认为True。...类似excel中如下情形: 图片 例2:指定要聚合的列 接着来看下应用values参数选择要聚合的列进行展示,代码如下: pd.pivot_table(date, index="课程", values=..., values=['综合成绩']) 得到结果: 类似excel中的如下设置: 例4:指定聚合的统计函数 如果aggfunc函数不指定聚合的函数,默认计算均值,接下来试下求和函数看看效果...至此,Python中的pivot_table函数已讲解完毕,如想了解更多Python中的函数,可以翻看公众号中“学习Python”模块相关文章。

    8.8K20

    Pandas中使用pivot_table函数进行高级数据汇总

    Pandas的pivot_table函数是一个强大的数据分析工具,可以帮助我们快速地对数据进行汇总和重塑。 本文将详细介绍pivot_table的用法及其在数据分析中的应用。...行索引 columns: 列索引 aggfunc: 聚合函数,默认为mean fill_value: 填充缺失值 margins: 是否添加汇总行/列 dropna: 是否删除全为NaN的列 2....我们以"日期"为行索引,"产品"为列索引,对"销量"进行了汇总。...高级应用:自定义聚合函数 pivot_table允许我们使用自定义的聚合函数: def custom_agg(x): return x.max() - x.min() result = pd.pivot_table...通过灵活使用其各种参数,我们可以轻松地创建复杂的数据透视表,从而更好地理解和分析数据。 在实际应用中,pivot_table常用于销售数据分析、财务报表生成、用户行为分析等多个领域。

    17210

    《Python for Excel》读书笔记连载12:使用pandas进行数据分析之理解数据

    处理空单元格的方式一致,因此在包含空单元格的区域内使用Excel的AVERAGE公式将获得与应用于具有相同数字和NaN值(而不是空单元格)的系列的mean方法相同的结果。...为此,首先按洲对行进行分组,然后应用mean方法,该方法将计算每组的均值,自动排除所有非数字列: 如果包含多个列,则生成的数据框架将具有层次索引,即我们前面遇到的多重索引: 可以使用pandas提供的大多数描述性统计信息...下面的数据框架中的数据的组织方式与数据库中记录的典型存储方式类似,每行显示特定地区指定水果的销售交易: 要创建数据透视表,将数据框架作为第一个参数提供给pivot_table函数。...index和columns分别定义数据框架的哪一列将成为透视表的行和列标签。...最后,margins与Excel中的总计(GrandTotal)相对应,即如果不使用margins和margins_name方式,则Total列和行将不会显示: 总之,数据透视意味着获取列(在本例中为

    4.3K30

    利用excel与Pandas完成实现数据透视表

    pivot_table方法的调用形式如下: DataFrame.pivot(index, columns, values, aggfunc) 其实index参数对应行字段,columns参数对应列字段,...', margins=True, margins_name="汇总") 在jupyter中输出pt如图9所示。...图11 仅保留结果的某些行 (5)仅保留汇总数据某些行和列。 pt[['A', 'B', 'C']].loc[['洗衣机', '电风扇']] 输出结果如图12所示。...图12 仅保留汇总数据某些行和列 3,使用字段列表排列数据透视表中的数据 数据透视表是一个DataFrame,所以可以用sort_values方法来按某列排序,示例代码如下: pt = df.pivot_table...4,对数据透视表中的数据进行分组 在Excel中还支持对数据透视表中的数据进行分组,例如可以把风扇和空调的数据分为一组来计算,如图14所示。

    2.3K40

    Python数据探索奥运数据,从中国队的男女比例找劣势项目

    在哪一届被取消 有没有项目被取消之后,又重新纳入奥运项目 ……………… 完整的分析过程,包括如何组织代码,把一些固定参数和逻辑外置在 Excel上等高级技巧,请关注专栏相关章节。...csv 文件,此外为了方便阅读,数据中的项目与国家已自动化翻译成中文(google翻译): df = pd.read_csv('athlete_events.csv') df_trans = pd.read_excel...] df['Sport_cn'] = df['Sport'].map(sport_trans) df['NOC_region'] = df['NOC'].map(noc_trans) df 每一行表示一个运动员的记录...看看历届奥运的男女比例: ( df.pivot_table(index='Year', columns='Sex', aggfunc=...,中国队的男子队都无法参与奥运 此外,水球、网球这些小球项目中,中国队的男子队也退步了 此时2020年东京奥运如火如荼进行中,你觉得中国队经过4年的时间,这些项目能有所进步吗?

    65720

    「Python」用户消费行为分析

    ,购买多次的用户在总消费人数中的占比(若客户在同一天消费了多次,也称之复购用户)。...plt.legend() plt.ylabel('百分比(%)') plt.xlabel('month') plt.title('用户复购人数与回购人数对比图') 总结 1、用户个体特征:每笔订单的金额和商品购买量都集中在区间的低段水平...,都是小金额小批量进行购买,此类交易群体,可在丰富产品线和增加促销活动提高转换率和购买率。...2、大部分用户的消费总额和购买总量都集中刚在低段,长尾分布,这个跟用户需求有关,可以对商品进行多元文化价值的赋予,增强其社交价值属性,提高用户的价值需求。...5、新客户的复购率约为12%,老客户的复购率在20%左右;新客户的回购率在15%左右,老客户的回购率在30%左右,需要营销策略积极引导其再次消费及持续消费。

    1K10

    『对比Excel,轻松学习Python数据分析』新书发布

    对于同一个功能,本书告诉你在Excel中怎么做,并告诉你对应到Python中是什么样的代码。...Excel实现 Excel中的数据透视表在插入菜单栏中,选择插入透视表以后就会看到下图的界面。...在数据透视表中把多个字段作拖到行对应的框作为行标签,把多个字段拖到列对应的框作为列标签,把多个字段拖到值对应的框作为值,且可以对不同的值字段选择不同的计算类型,大家自行练习。...#index对应Excel中行那个框 #columns对应Excel中列那个框 #aggfunc表示对values的计算类型 #fill_value表示对空值的填充值 #margins表示是否显示合计列...的不同的就是没有合计列,Python透视表中的合计列默认是关闭,让其等于True就可以显示出来。

    3.3K50
    领券