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

在python中透视表后,将多索引转换回列

在Python中,可以使用pivot_table函数来创建透视表。透视表是一种数据汇总工具,可以根据一个或多个字段将数据进行聚合,并以多级索引的形式展示。

要将多索引转换回列,可以使用reset_index函数。该函数会将多级索引转换为列,并重新生成默认的整数索引。下面是一个示例代码:

代码语言:txt
复制
import pandas as pd

# 创建透视表
df = pd.DataFrame({
    'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],
    'B': ['one', 'one', 'two', 'two', 'one', 'one'],
    'C': ['x', 'y', 'x', 'y', 'x', 'y'],
    'D': [1, 2, 3, 4, 5, 6]
})

pivot_table = df.pivot_table(values='D', index=['A', 'B'], columns='C', aggfunc=sum)

# 将多索引转换回列
pivot_table = pivot_table.reset_index()

print(pivot_table)

运行以上代码,将得到以下输出:

代码语言:txt
复制
C    A    B  x    y
0  bar  one  5  6.0
1  bar  two  4  NaN
2  foo  one  NaN  1
3  foo  two  3  NaN

以上代码示例中,首先创建了一个包含'A'、'B'、'C'和'D'四个列的DataFrame。然后使用pivot_table函数创建透视表,将'D'列的值根据'A'和'B'列进行聚合,并以'C'列的不同取值作为新的列。接着使用reset_index函数将多级索引转换回列,生成了一个新的DataFrame。

这里使用的是Python的pandas库来进行透视表操作。pandas是一个强大的数据分析工具,提供了丰富的数据处理和分析功能。在云计算领域,pandas可以用于对大规模数据进行处理和分析,进行数据挖掘、机器学习等任务。

推荐的腾讯云相关产品:由于不能提及云计算品牌商,无法给出具体的腾讯云产品和链接。但腾讯云提供了全面的云计算服务,包括云服务器、云数据库、云存储、人工智能等。可以根据具体需求在腾讯云官网查找相关产品和文档。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

左手用R右手Python系列——数据塑型与长宽转换

转换之后,长数据结构保留了原始宽数据的Name、Conpany字段,同时剩余的年度指标进行堆栈,转换为一个代表年度的类别维度和对应年度的指标。(即转换,所有年度字段被降维化了)。...而相对于数据宽长而言,数据长宽就显得不是很常用,因为长宽是数据透视,这种透视过程可以通过汇总函数或者类数据透视函数来完成。 但是既然数据长宽转换是成对的需求,自然有对应的长宽函数。...还在Python中提供了非常便捷的数据透视操作函数,刚开始就已经说过是,长数据宽数据就是数据透视的过程(自然宽长就可以被称为逆透视咯,PowerBI也是这么称呼的)。...pandas的数据透视函数提供如同Excel原生透视一样的使用体验,即行标签、标签、度量值等操作,根据使用规则,行列主要操作维度指标,值主要操作度量指标。...(但是使用stack\unstack需要额外设置索引,灰常麻烦,所以不是很推荐,有兴趣可以查看pandas的stack/unstack方法,这里不再赘述)。

2.6K60

时间序列数据处理,不再使用pandas

对于单变量时间序列,可以使用带有时间索引的 Pandas 序列。而对于多变量时间序列,则可以使用带有的二维 Pandas DataFrame。...使数据集成为宽格式 宽格式数据结构是指各组多元时间序列数据按照相同的时间索引横向附加,接着我们按商店和时间来透视每周的商店销售额。...时间:时间索引,如上例的 143 周。 维度:多元序列的 ""。 样本:和时间的值。图(A),第一周期的值为 [10,15,18]。这不是一个单一的值,而是一个值列表。...图(3)的宽格式商店销售额转换一下。数据帧的每一都是带有时间索引的 Pandas 序列,并且每个 Pandas 序列将被转换为 Pandas 字典格式。...沃尔玛商店的销售数据,包含了时间戳、每周销售额和商店 ID 这三个关键信息。因此,我们需要在输出数据创建三:时间戳、目标值和索引

17310
  • 怎么多行的数据变成一?4个解法。

    - 问题 - 怎么这个多行的数据 变成一?...- 1 - 不需保持原排序 选中所有透视,一步搞定 - 2 - 保持原排序:操作法一 思路直接,为保排序,操作麻烦 2.1 添加索引 2.2 替换null值,避免逆透视时行丢失,后续无法排序...2.3 逆透视其他 2.4 再添加索引 2.5 对索引取模(取模时输入参数为源数,如3) 2.6 修改公式的取模参数,使能适应增加数的动态变化 2.7 再排序并删 2.8...筛选掉原替换null的行 - 3 - 保持排序:操作法二 先置,行标丢失,新列名可排序 有时候,换个思路,问题简单很多 3.1 置 3.2 添加索引 3.3 逆透视 3.4 删 -...4 - 公式一步法 用Table.ToColumns把分成 用List.Combine追加成一 用List.Select去除其中的null值

    3.3K20

    这个问题写SQL都不好,用Power Query却能随数据增加一键刷新

    Step-1:获取数据(注意:因为标题名称重复,为避免PQ相同的标题加上数字,这里不要选择“包含标题“,不理解的自己动手试一下选择”包含标题“的情况对比一下) Step-2: Step...-3:添加索引 Step-4:基于索引添加“除(整数)” 2表示对索引除以2,得到的商(整数)部分。...Step-6:基于增加的“除(整数)“,逆透视其他 Step-7:基于型号数量对值以不聚合的方式进行透视 Step-8:删除不需要的 Step-9:数据上载 小勤:为什么要加上那个...大海:这里每2为一组,,大家都用了同样的标题,为了能在后面的透视过程中区分不同的组,就只好再想办法加上一个特定的标志。 小勤:原来这样,感觉有点儿绕,我再练练加深一下理解。...大海:嗯,练一下就好,这个操作好对加深透视和逆透视的理解也很有好处。 小勤:好的。

    1.3K60

    手把手教你做一个“渣”数据师,用Python代替老情人Excel

    可以用工作的名字,或一个整数值来当作工作的index。 ? 4、使用工作的列作为索引 除非明确提到,否则索引会添加到DataFrame,默认情况下从0开始。...使用index_col参数可以操作数据框索引,如果值0设置为none,它将使用第一作为index。 ?...2、查看 ? 3、查看特定行 这里使用的方法是loc函数,其中我们可以指定以冒号分隔的起始行和结束行。注意,索引从0开始而不是1。 ? 4、同时分割行和 ? 5、某一筛选 ?...8、筛选不在列表或Excel的值 ? 9、用多个条件筛选数据 输入应为一个,此方法相当于excel的高级过滤器功能: ? 10、根据数字条件过滤 ?...简单的数据透视,显示SepalWidth的总和,行列的SepalLength和标签的名称。 现在让我们试着复杂化一些: ? 用fill_value参数空白替换为0: ?

    8.3K30

    盘一盘 Python 系列 4 - Pandas (下)

    键合并用的语法和单键合并一样,只不过 on=c 的 c 是栏。... Pandas 里透视的方法有两种: 用 pivot 函数「一张长」变「多张宽」, 用 melt 函数「多张宽」变「一张长」, 本节使用的数据描述如下: 5 只股票:AAPL, JD,...标签分组 groupBy 函数除了支持单标签分组,也支持标签分组 (标签放入一个列表)。...【重塑数据】用 stack 函数索引」变成「行索引」,用 unstack 函数「行索引」变成「索引」。它们只是改变数据的布局和展示方式而已。...---- 【透视数据】用 pivot 函数「一张长」变成「多张宽」,用 melt 函数「多张宽」变成「一张长」。它们只是改变数据的布局和展示方式而已。

    4.8K40

    python数据分析——数据分类汇总与统计

    具体的办法是向agg传入一个从列名映射到函数的字典: 只有多个函数应用到至少一时,DataFrame才会拥有层次化的 2.3.返回不含行索引的聚合数据 到目前为止,所有例的聚合数据都有由唯一的分组键组成的索引...这些列表串联起来。 我们可以用分组平均值去填充NA值: 也可以代码预定义各组的填充值。由于分组具有一个name属性,所以我们可以拿来用一下: 四、数据透视与交叉 4.1....数据透视 pivot()的用途就是,一个dataframe的记录数据整合成表格(类似Excel的数据透视表功能),pivot_table函数可以产生类似于excel数据透视的结果,相当的直观。...为True时,行/小计和总计的名称; 【例17】对于DataFrame格式的某公司销售数据workdata.csv,存储本地的数据的形式如下,请利用Python的数据透视分析计算每个地区的销售总额和利润总额...关键技术:pandas透视操作由pivot_table()函数实现,其中在所有参数,values、index、 columns最为关键,它们分别对应Excel透视的值、行、

    52210

    基于Excel2013的PowerQuery入门

    成功替换.png 可以下图与结果进行对照 ? 成功加载.png 4.数据的拆分合并提取 打开下载文件的04-数据的拆分合并提取.xlsx,如下图所示。 ?...标题作为第一行.png ? 置按钮位置.png ? 结果.png ? 第一行作为标题.png ? 取消自动更改类型.png ? 关闭并上载至原有表格.png ? 上载设置.png ?...置结果.png 如果上载位置有偏差,自己可以移动表格位置调整至上图所示效果 8.透视和逆透视 打开下载文件的08-透视和逆透视.xlsx,如下图所示 ?...成功上载结果.png 透视——不要聚合 选择不要聚合这个,加载至PowerQuery第一步操作如下。 ?...成功分组结果.png 10.添加 打开下载文件的10-添加.xlsx,如下图所示。 ? 打开文件图示.png ? 进行分组操作.png ? 逆序排序.png ? 添加索引.png ?

    10K50

    Python替代Excel Vba系列(三):pandas处理不规范数据

    pandas 索引。 注意:虽然本文是"Python替代Excel Vba"系列,但希望各位读者明白,工具都是各有所长,选择适合的工具,才是最好的。 ---- 案例 这次的数据是一个教师课程。...这里不能直接整数,因为 python 怕有精度丢失,直接转换 int 会报错。因此先 float,再 int。...如果你熟悉 excel 透视,那么完全可以把行列索引当作是透视的行列区域。 ---- 理解了索引,那么就要说一下如何变换行列索引。...pandas 通过 stack 方法,可以把需要的索引转成行索引。 用上面的数据作为例子,我们需要左边的行索引显示每天上下午的气温和降雨量。...如下图: 不妨 excel 的透视上操作一下,把一个放入列区域的字段移到行区域上,就是上图的结果。 ---- ---- 回到我们的例子。

    5K30

    对比excel,用python实现逆透视操作(宽变长

    大家好 最近看到群友们讨论一个宽变长的问题,其实这类需求也很常见于我们日常的数据处理。综合群友们的智慧,今天我们就来看看excel与python如何实现这个需求吧!...第一步:选中数据,然后菜单栏-数据-点击来自表格/区域 [format,png] 选中数据-来自表格 第二步:创建的时候,根据实际情况选中是否包含标题(本例不包含) [format,png] 创建...第七步:我们发现,原始表出现了 1的页签,里面正是我们期望的逆透视结果,搞定!...] 爆炸完成需求 以上就是本次的全部内容,围绕着关于宽,也就是逆透视的操作。...其实excel和pandas都提供了很简单直接的处理方法,大家熟悉操作自然就能轻车熟路,高效解决问题啦。

    1.6K50

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

    pandas,python+data+analysis的组合缩写,是python基于numpy和matplotlib的第三方数据分析库,与两者共同构成了python数据分析的基础工具包,享有数分三剑客之名...功能,pandas可以很容易实现SQL这两个核心功能,实际上,SQL的绝大部分DQL和DML操作pandas中都可以实现 类比Excel的数据透视表功能,Excel中最为强大的数据分析工具之一是数据透视...2 分组聚合 pandas的另一个强大的数据分析功能是分组聚合以及数据透视,前者堪比SQL的groupby,后者媲美Excel的数据透视。...groupby,类比SQL的group by功能,即按某一执行分组。...例如,以某取值为重整后行标签,以另一取值作为重整标签,以其他取值作为填充value,即实现了数据的行列重整。

    13.9K20

    Power Pivot忽略维度筛选函数

    返回 ——包含已经删除过滤器的一。 C. 注意事项 通常和filter组合,如果是列名需要是filter处理的列名 1个参数只能写1个条件,不能同时出现。...返回 ——包含已经删除过滤器的一。 C. 注意事项 第1参数是,第2参数是,而All函数的第1参数是或者。...分列数据的方法比较 如何用Power Query处理Excel解决不了的分列 Power Query如何把数据合并? Power Query如何把数据合并?...升级篇 Power Query单列数据按需 Power Query如何进行类似"*"的模糊匹配查找? 如何在Power Query达到函数Vlookup的效果?...(置,分组依据中加索引透视,逆透视,if...then...else...) 重复数据删除哪家强?

    7.9K20

    个人永久性免费-Excel催化剂功能第16波-N使用场景的多维一维

    很可惜,一般主流Excel插件都仅限于二维转换为一维的功能实现,另外多种多维一维的需求都未见有实现的功能。此次Excel催化剂多维转换一维的功能发挥得淋漓尽致。...目前穷我之力有限度的调查插件市场功能的情况下,大胆推测Excel催化剂此多维一维功能将是Excel插件全球范围内实现最彻底,最通用及使用体验最好的功能!...类型三:一行表头,标准的二维(一般是经过透视的数据结构) 此类数据类型,主流的Excel二维一维的功能,以下截图故意把透视保留分开存放,可能部分Excel插件未对其有通用性考虑致使没法使用。...保留字段表头行区域 此叫法可能不是太准确,凑合着理解吧,是指我们日常透视中行区域的字段,不参加逆透视,如上图的店铺、销售员,可能实际过程中有较多的这些非逆透视,可酌情选择自己所要展示结果...组字段名称 多级表头中,如上图的年份、季度数据,需要逆透视数据合并到一时,需要重新命名的列名称,对应于拉透视时的多个字段的列名称。

    3.4K20

    复杂源的清洗方法

    一维转化为二维,叫做透视(Pivot)。Excel、Power Query、SQL和Python里,都有同样叫法的功能。...逆透视的基本思路是:首先锚定纵向的维度,然后把横向的维度,分别转置过去。 Power Query ,关键是选中锚定的维度(),本例为公司。...解决方式的核心仍然是围绕透视(Pivot)和逆透视(Unpivot)。初始数据加载我们会发现,第一行和第一有很多空值。而直接逆透视会把空值开头的行或给删除过滤掉。...因此纵向的解决步骤有两步: 最左边的向下填充,解决空值问题; 合并最左边两,成为一单一的维度。 经过这两步之后,我们成功2*2维转为2*1维。...我们不妨把倒转过来——置,那么横向的问题就转化为纵向问题,就可以重复上述步骤解决了。置、填充并合并列如下图所示。 经过这几步,复杂的2*2维已经转为普通的二维了!

    2K20

    pandas技巧6

    ignore_index:不保留连接轴上的索引,产生新的索引 连接merge 可根据⼀个或多个键将不同DataFrame的⾏连接起来,它实现的就是数据库的join操作 ,就是数据库风格的合并 常用参数表格...sort 根据连接键对合并的数据进行排序,默认是T suffixes 重复列名,直接指定后缀,用元组的形式(’_left’, ‘_right’) left_index、right_index 左侧、...分组和聚合之后使用reset_index() 分组时,使用as_index=False 重塑reshaping stack:数据的旋转成行,AB由属性变成行索引 unstack:数据的行旋转成...,AB由行索引变成属性 透视 data: a DataFrame object,要应用透视的数据框 values: a column or a list of columns to aggregate...values是生成的透视的数据 index是透视的层次化索引,多个属性使用列表的形式 columns是生成透视属性

    2.6K10

    【说站】pythonpandas有哪些功能特色

    pythonpandas有哪些功能特色 说明 1、按索引匹配的广播机制,这里的广播机制与numpy广播机制还有很大不同。...4、类比Excel的数据透视表功能,Excel中最为强大的数据分析工具之一是数据透视,这在pandas也可轻松实现。...5、自带正则表达式的字符串向量化操作,对pandas的一字符串进行通函数操作,而且自带正则表达式的大部分接口。 丰富的时间序列向量化处理接口。...stock = ["股票{}".format(i) for i in range(10)] pd.DataFrame(stock_change, index=stock) # 添加索引 date =...  # 方法 data.head(3) # 开头3行 data.tail(2) # 最后2行 以上就是pythonpandas功能特色的介绍,希望对大家有所帮助。

    72420

    Python常用小技巧总结

    小技巧 pandas生成数据 导入数据 导出数据 查看数据 数据选择 数据处理 数据分组 数据合并 数据替换--map映射 数据清洗--replace和正则 数据透视分析--melt函数 分类中出现次数较少的值归为...others Python合并多个EXCEL工作 pandasSeries和Dataframe数据类型互转 相同字段合并 Python小技巧 简单的表达式 列表推导式 交换变量 检查对象使用内存情况...([col1,col2]) # 返回⼀个按进⾏分组的Groupby对象 df.groupby(col1)[col2].agg(mean) # 返回按col1进⾏分组col2的均值,agg可以接受列表参数...进⾏分组,计算col2的最⼤值和col3的最⼤值、最⼩值的数据透视 df.groupby(col1).agg(np.mean) # 返回按col1分组的所有的均值,⽀持 df.groupby(....append(df2) # df2的⾏添加到df1的尾部 df.concat([df1,df2],axis=1,join='inner') # df2添加到df1的尾部,值为空的对应⾏与对应列都不要

    9.4K20

    Python报表自动化

    2.Excel制作过程 结合以上两张图,我们知道利用Excel的数据透视表功能就制作该报表:选中数据任意一个单元格,点击插入数据透视,然后按以下步骤执行: 合同生效日字段放在页区域(筛选今年)...单位字段放在透视的行区域。 ? 当处理到单位字段时我们会发现,每一笔贷款都有三家网点进行业绩分成。我们需要将分成比例也考虑进去。所以透视的行区域及值区域不能简单的放入单位1和贷款金额。...我们的例子,需要将三个的单位及分成比例字段追加在同一。但是目前三个新的单位及分成比例字段名字是不一致的,不能直接追加。所以我们需要先将分的名字统一。...3.4.1重命名列索引 Python重命名,使用rename()函数。并使用键值对的方式对columns参数进行赋值。各分的单位字段统一命名为单位,分成比例字段统一命名为分成比例。...使用普通索引方式插入分成贷款金额 data4["分成贷款金额"]=data4["贷款金额"]*data4["分成百分比"]/10000 # 除以10000,结果单位换算为万元 对插入数据进行预览

    4.1K41
    领券