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

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

在实际数据处理过程中,数据透视表使用频率相对较高,今天云朵君就和大家一起学习pandas数据透视表与逆透视的使用方法。...如果原表有二级索引,那么unstack就会将二级索引作为新的列名,一级索引作为新的索引。...默认聚合所有数值列 index 用于分组的列名或其他分组键,出现在结果透视表的行 columns 用于分组的列名或其他分组键,出现在结果透视表的列 aggfunc 聚合函数或函数列表,默认为'mean'...同样是上面的需求,同时观察不同司机性别与司机种族的平均年龄 ,用pivot_table实现透视表。...行索引和列索引都可以再设置为多层,不过行索引和列索引在本质上是一样的,大家需要根据实际情况合理布局。

4.3K11

从pandas中的这几个函数,我看懂了道家“一生二、二生三、三生万物”

04 groupby groupby,顾名思义,是用于实现分组聚合统计的函数,与SQL中的group by逻辑类似。例如想统计前面成绩表中各门课的平均分,语句如下: ?...例如,这里想以学生姓氏进行分组统计课程平均分,语句如下: ? 05 pivot_table pivot_table是pandas中用于实现数据透视表功能的函数,与Excel中相关用法如出一辙。...何为数据透视表?...数据透视表本质上仍然数据分组聚合的一种,只不过是以其中一列的唯一值结果作为行、另一列的唯一值结果作为列,然后对其中任意(行,列)取值坐标下的所有数值进行聚合统计,就好似完成了数据透视一般。...在以上参数中,最重要的有4个: values:用于透视统计的对象列名 index:透视后的行索引所在列名 columns:透视后的列索引所在列名 aggfunc:透视后的聚合函数,默认是求均值 这里仍然以求各班每门课程的平均分为例

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

    图解pandas模块21个常用操作

    经过多年不懈的努力,Pandas 离这个目标已经越来越近了。 下面对pandas常用的功能进行一个可视化的介绍,希望能让大家更容易理解和学习pandas。...9、列选择 在刚学Pandas时,行选择和列选择非常容易混淆,在这里进行一下整理常用的列选择。 ? 10、行选择 整理多种行选择的方法,总有一种适合你的。 ? ? ?...11、返回指定行列 pandas的DataFrame非常方便的提取数据框内的数据。 ? 12、条件查询 对各类数值型、文本型,单条件和多条件进行行选择 ? ?...16、透视表 透视表是pandas的一个强大的操作,大量的参数完全能满足你个性化的需求。 ? 17、处理缺失值 pandas对缺失值有多种处理办法,满足各类需求。 ?...20、更改列名(columns index) 更改列名我认为pandas并不是很方便,但我也没有想到一个好的方案。 ?

    9K22

    5分钟了解Pandas的透视表

    Pandas 库是用于数据分析的流行 Python 包。Pandas 中处理数据集时,结构将是二维的,由行和列组成,也称为dataframe。...然而,数据分析的一个重要部分是对这些数据进行分组、汇总、聚合和计算统计的过程。 Pandas 数据透视表提供了一个强大的工具来使用 python 执行这些分析技术。...如果你是excel用户,那么可能已经熟悉数据透视表的概念。Pandas 数据透视表的工作方式与 Excel 等电子表格工具中的数据透视表非常相似。...索引指定行级分组,列指定列级分组和值,这些值是您要汇总的数值。 用于创建上述数据透视表的代码如下所示。在 pivot_table 函数中,我们指定要汇总的df,然后是值、索引和列的列名。...只需将 .plot() 添加到数据透视表代码的末尾即可创建数据图。例如,下面的代码创建了一个条形图,显示了按品牌和门数划分的平均汽车价格。

    1.9K50

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

    Excel数据透视表虽好,但在pandas面前它也有其不香的一面! ? 01 何为透视表 数据透视表,顾名思义,就是通过对数据执行一定的"透视",完成对复杂数据的分析统计功能,常常伴随降维的效果。...02 利用pd.pivot_table实现 Pandas作为Python数据分析的瑞士军刀,实现个数据透视表自然不在话下,其接口函数为pivot_table,给出其核心参数如下: values : 待聚合的列名...index : 用于放入透视表结果中的行索引列名 columns : 用于放入透视表结果中列索引列名 aggfunc : 聚合统计函数,可以是单个函数,也可以是函数列表,还可以是字典格式,默认聚合函数为均值...注意这里的缺失值是指透视后结果中可能存在的缺失值,而非透视前的原表中缺失值 margins : 指定是否加入汇总列,布尔值,默认为False,体现为Excel透视表中的行小计和列小计 margins_name...其中,当行索引和列索引对应的具体分组下的记录数为0时,得到的聚合结果为NaN,此时可通过指定fill_value参数来进一步填充,即: ?

    2.2K51

    Python 使用pandas 进行查询和统计详解

    但是Pandas 是如何进行查询和统计分析得嘞, let’s go : 数据筛选查询 通过列名索引筛选数据: import pandas as pd data = {'name': ['Tom', '...'gender' 属性 df[['age', 'gender']] 通过位置索引筛选数据: # 通过位置索引选取第一行数据 df.iloc[0] # 通过位置索引选取第一行和第二行数据 df.iloc[...0:2] 通过布尔索引筛选数据: # 选取年龄大于等于 20 的记录 df[df['age'] >= 20] # 选取性别为女的记录 df[df['gender'] == 'F'] 数据统计分析 Pandas...描述性统计分析: # 统计数值型数据的基本描述性统计信息 df.describe() # 统计各属性的非空值数量 df.count() # 统计各属性的平均值 df.mean() # 统计各属性的方差...创建数据透视表: # 统计不同性别和年龄的人数,以 'gender' 为行、'age' 为列,'name' 计数 pd.pivot_table(df, values='name', index='gender

    32810

    零基础5天入门Python数据分析:第五课

    data.head() 我们使用pandas这个包来进行数据分析之前,需要先将Excel表格读入内存中,head方法可以显示前几行(默认是5行): Excel表格中的第一行自动作为列名(也成为列索引...,这是行索引。通过行索引可以找到对应的行,通过列名也可以找到对应的列,下面会有使用。 类似head方法的,还有一个tail方法,用来查看表格数据的最后几行。...1.2 统计各科平均分 在pandas中,计算均值的方法是mean: mean可以直接用在整个数据集(表格)上,这样会直接计算所有数值型字段的均值;也可以单独用着某个字段(列)上,在pandas中访问某个列...有了及格和不及格字段,类似Excel表格中的透视表功能,pandas也有透视表函数: 所谓透视表,涉及到的重要参数有:列字段(columns),行字段(index),值字段(values),还有就是值字段的计算函数...图示如下: 这个和Excel中的透视表是非常类似的: 不同版本的Excel会略有不同。 4. 成绩的分布 查看某列数据的值的分布,这也是常见的分析。

    1.6K30

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

    数据透视表是数据分析工作中经常会用到的一种工具。Excel本身具有强大的透视表功能,Python中pandas也有透视表的实现。...当我们只指定index时,就是指定了行标签,pivot_table函数会默认按照平均值,汇总所有的数值字段。...2.Excel实现 选中数据区域,插入,数据透视表,将Name字段拉倒“行”区域,Account,Price,Quantity拉入“值”区域,并将三者的字段汇总方式设置为平均值。...值得一提的是,可以通过“列”的位置,“数值”和“Product”的上下关系,控制显示的格式,下面显示的结果和pandas的结果一致,读者可以调整下看看效果。 ?...小结与备忘: index-对应透视表的“行”,columns对应透视表的列,values对应透视表的‘值’,aggfunc对应值的汇总方式。用图形表示如下: ?

    3.6K40

    Pandas三百题

    ] 39-筛选值|组合(行号+列号) 提取第 4 行,第 4 列的值 df.iloc[3,3] 40 - 筛选值|组合(行号+列名) 提取行索引为 4 ,列名为 金牌数 的值 df.at[4,'金牌数'..."某超市销售数据.csv" 并设置千分位符号为 , pd.read_csv('某超市销售数据.csv',thousands=',') 2 - 数据透视|默认 制作各省「平均销售额」的数据透视表 pd.pivot_table...='省/自治区',aggfunc=sum) 4 - 数据透视|多方法 制作各省「销售总额」与「平均销售额」的数据透视表 pd.pivot_table(df,values=['销售额'],index='省...'],index='省/自治区',aggfunc=['sum']) 6 - 数据透视|多索引 制作「各省市」与「不同类别」产品「销售总额」的数据透视表 pd.pivot_table(df,values=...=True) 9 - 数据透视|筛选 在上一题的基础上,查询 「类别」 等于 「办公用品」 的详情 ​ 10 -数据透视|逆透视 逆透视就是将宽的表转换为长的表,例如将第 5 题的透视表进行逆透视,其中不需要转换的列为

    4.8K22

    Pandas 25 式

    操控缺失值 把字符串分割为多列 把 Series 里的列表转换为 DataFrame 用多个函数聚合 用一个 DataFrame 合并聚合的输出结果 选择行与列 重塑多重索引 Series 创建透视表...以上这三种方式都可以更改列名。 用 add_prefix 与 add_suffix 函数可以为所有列名添加前缀或后缀。 ? ? 4. 反转列序 反转 drinks 表的顺序。 ?...重塑多重索引 Series 泰坦尼克数据集里有一列标注了幸存(Survived)状态,值用 0、1 代表。计算该列的平均值可以计算整体幸存率。 ?...创建透视表 经常输出类似上例的 DataFrame,pivot_table() 方法更方便。 ? 使用透视表,可以直接指定索引、数据列、值与聚合函数。...设置 margins=True,即可为透视表添加行与列的汇总。 ? 此表显示了整体幸存率,及按性别与舱型划分的幸存率。 把聚合函数 mean 改为 count,就可以生成交叉表。 ?

    8.4K00

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

    仅支持数字索引,pandas的两种数据结构均支持标签索引,包括bool索引也是支持的 类比SQL的join和groupby功能,pandas可以很容易实现SQL这两个核心功能,实际上,SQL的绝大部分DQL...和DML操作在pandas中都可以实现 类比Excel的数据透视表功能,Excel中最为强大的数据分析工具之一是数据透视表,这在pandas中也可轻松实现 自带正则表达式的字符串向量化操作,对pandas...,可通过axis参数设置是按行删除还是按列删除 替换,replace,非常强大的功能,对series或dataframe中每个元素执行按条件替换操作,还可开启正则表达式功能 2 数值计算 由于pandas...2 分组聚合 pandas的另一个强大的数据分析功能是分组聚合以及数据透视表,前者堪比SQL中的groupby,后者媲美Excel中的数据透视表。...仍然考虑前述学生成绩表的例子,但是再增加一列班级信息,需求是统计各班级每门课程的平均分。

    14.9K20

    Pandas速查卡-Python数据科学

    它不仅提供了很多方法和函数,使得处理数据更容易;而且它已经优化了运行速度,与使用Python的内置函数进行数值数据处理相比,这是一个显著的优势。...('1900/1/30', periods=df.shape[0]) 添加日期索引 查看/检查数据 df.head(n) 数据框的前n行 df.tail(n) 数据框的后n行 df.shape() 行数和列数...df.info() 索引,数据类型和内存信息 df.describe() 数值列的汇总统计信息 s.value_counts(dropna=False) 查看唯一值和计数 df.apply(pd.Series.value_counts...df.rename(index=lambda x: x + 1) 批量重命名索引 筛选,排序和分组 df[df[col] > 0.5] col列大于0.5的行 df[(df[col] > 0.5)...) df.pivot_table(index=col1,values=[col2,col3],aggfunc=max) 创建一个数据透视表,按col1分组并计算col2和col3的平均值 df.groupby

    9.2K80

    盘点66个Pandas函数,轻松搞定“数据清洗”!

    今天我们重新盘点66个Pandas函数合集,包括数据预览、数值数据操作、文本数据操作、行/列操作等等,涉及“数据清洗”的方方面面。...Pandas 是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的。它提供了大量能使我们快速便捷地处理数据的函数和方法。...head()方法和tail() 方法则是分别显示数据集的前n和后n行数据。如果想要随机看N行的数据,可以使用sample()方法。...列操作 数据清洗时,会将带空值的行删除,此时DataFrame或Series类型的数据不再是连续的索引,可以使用reset_index()重置索引。...df.groupby("科目").mean() 由于pivot_table()数据透视表的参数比较多,就不再使用案例来演示了,具体用法可参考下图。

    3.8K11

    Pandas

    而 NumPy 更适合处理统一的数值数组数据。 Pandas 数据结构 DataFrame 是 Pandas 最常用也是非常重要的一个对象,它是一个二维的数据结构,数据以行和列的表格方式排列。...可选的有’left’,‘right’,‘output’ 在对多个表进行 join 的时候,行索引会被丢弃 观察参数表可知也可以通过一个的行索引与另外一个表的列索引进行 join(甚至适用于行标签为多级索引的情况...(x - x.mean()) / x.std()).head()) 透视表和交叉表 使用 pivot_table 创建透视表 #fill_value表示空值的填充值 pythonpandas.pivot_table...columns:列分组键 values:数值计算键 aggfunc: 聚合函数 ,默认为平均值函数 margins: 接收布尔值,表示是否对透视表的行和列进行汇总 dropna:是否删除全为Nan的列,...交叉表是一种特殊的数据透视表,它仅指定一个特征作为行分组键,一个特征作为列分组键,是为交叉的意思。

    9.2K30

    数据分析篇 | PyCon 大咖亲传 pandas 25 式,长文建议收藏

    操控缺失值 把字符串分割为多列 把 Series 里的列表转换为 DataFrame 用多个函数聚合 用一个 DataFrame 合并聚合的输出结果 选择行与列 重塑多重索引 Series 创建透视表...以上这三种方式都可以更改列名。 用 add_prefix 与 add_suffix 函数可以为所有列名添加前缀或后缀。 ? ? 4. 反转列序 反转 drinks 表的顺序。 ?...重塑多重索引 Series 泰坦尼克数据集里有一列标注了幸存(Survived)状态,值用 0、1 代表。计算该列的平均值可以计算整体幸存率。 ?...创建透视表 经常输出类似上例的 DataFrame,pivot_table() 方法更方便。 ? 使用透视表,可以直接指定索引、数据列、值与聚合函数。...设置 margins=True,即可为透视表添加行与列的汇总。 ? 此表显示了整体幸存率,及按性别与舱型划分的幸存率。 把聚合函数 mean 改为 count,就可以生成交叉表。 ?

    7.2K20

    Python入门之数据处理——12种有用的Pandas技巧

    # 3–填补缺失值 ‘fillna()’可以一次性解决:以整列的平均数或众数或中位数来替换缺失值。让我们基于其各自的众数填补出“性别”、“婚姻”和“自由职业”列的缺失值。...# 4–透视表 Pandas可以用来创建MS Excel风格的透视表。例如,在本例中一个关键列是“贷款数额”有缺失值。我们可以根据“性别”,“婚姻状况”和“自由职业”分组后的平均金额来替换。...现在,我们可以将原始数据帧和这些信息合并: ? ? 透视表验证了成功的合并操作。请注意,“value”在这里是无关紧要的,因为在这里我们只简单计数。...# 9–绘图(箱线图和柱状图) 很多人可能没意识到,箱线图和柱状图可以直接在Pandas中绘制,不必另外调用matplotlib。这只需要一行命令。...解决这些问题的一个好方法是创建一个包括列名和类型的CSV文件。这样,我们就可以定义一个函数来读取文件,并指定每一列的数据类型。

    5K50

    在pandas中使用数据透视表

    透视表是一种汇总了更广泛表数据的统计信息表。 典型的数据格式是扁平的,只包含行和列,不方便总结信息: ? 而数据透视表可以快速抽取有用的信息: ? pandas也有透视表?...pandas作为编程领域最强大的数据分析工具之一,自然也有透视表的功能。 在pandas中,透视表操作由pivot_table()函数实现,不要小看只是一个函数,但却可以玩转数据表,解决大麻烦。...,可多选 index:行分组键,一般是用于分组的列名或其他分组键,作为结果DataFrame的行索引 columns:列分组键,一般是用于分组的列名或其他分组键,作为结果DataFrame的列索引 aggfunc...注意,在所有参数中,values、index、columns最为关键,它们分别对应excel透视表中的值、行、列: ?...总结 本文介绍了pandas pivot_table函数的使用,其透视表功能基本和excel类似,但pandas的聚合方式更加灵活和多元,处理大数据也更快速,大家有兴趣可探索更高级的用法。

    2.8K40
    领券