【Python】Pandas DataFrame 一维表二维表的转换

article/2025/6/30 5:46:16

目录

  • 一、stack & unstack
    • unstack 将一维表转换为二维表
    • stack 将二维表转换为一维表
  • 二、pivot & melt
    • pivot 将一维表转换为二维表
    • melt将二维表转换为一维表
  • Tips

用pandas处理数据,我们经常获取到的是从数据库或者excel中获取的一维表。而常常需要重排,转换为二维表,类似于excel中的透视。

举例
一维表 df

df = pd.DataFrame(
{'key1':['one','two','three','one','two','four'],'key2':['A','B','C','D','C','D'],'value':np.random.randn(6)
}
)

表一:一维表
二维表 df2
在这里插入图片描述

介绍两种转换方式。

一、stack & unstack

stack 和 unstack 的工作机制都是依赖于dataframe本身的多层索引进行转换的。
默认情况下,最内层是unstack的,也可以指定层级序号或名称来拆分特定层级。

unstack 将一维表转换为二维表

# 第一步
df1 =df.set_index(['key1','key2'])
# 运用unstack,不写参数,默认转换最里层的index,也就是key2;
df2=df1.unstack()
df2.reset_index()

在这里插入图片描述

# 也可以指定要转换的索引
df1.unstack('key1')
# 或
df1.unstack(0)

最后,可以通过reset_index方法去除索引。

stack 将二维表转换为一维表

df2.stack()

二、pivot & melt

pivot 将一维表转换为二维表

df.pivot('key1','key2','value')

melt将二维表转换为一维表

pd.melt(df,['key1','key2'])

也可以指定列的子集为值列

pd.melt(df,id_vars=['key1'], value_vars=['value'])

Tips

stack 和unstack方法可以用来处理多层数据。
也就是行和列索引不只一个的情况。

可参考 (https://blog.csdn.net/qq_41080850/article/details/86294173)

multiindex 的索引方式

外层索引可以包含式地使用内层索引,反过来则不行


http://chatgpt.dhexx.cn/article/fV7LTBxC.shtml

相关文章

Excel:一维表和二维表 互转

一、一维表转二维表 数据源: 一份流水账式的值班表,为了便于打印张贴,现在需要使其变成这样的样式: 也就是从一维表变成传说中的二维表。 1、新建查询 依次单击【数据】→【新建查询】 →【从文件】→【从工作簿】 找到存放的工作…

mysql 二维表 查询_二维报表数据表设计

报表原型: 这里随便挑了一个二维报表 二维报表设计分析: 上面的报表原型行和列都有数据项,我们可以根据地理位置的经纬度定坐标点的思想来进行设计 这里使用列行来表示 c1r1表示第一列第一行 c1r2表示第一列第二行 ..... c2r1表示第二列第一行 c2r2表示第二 报表原型: 这里随便…

MySQL一维表变二维表_一维表转化为二维表,你会吗?

原标题:一维表转化为二维表,你会吗? 在产品的一些销售数据处理中,我们经常看到这样的一维表数据: 我们在进行数据的统计分析时,需要用这样的一维表作为数据源,所以正常情况下我们会用一维表的格式进行数据的…

python一维列表变二维列表_使用Python轻松应对一维表与二维表相互转换

数据分析时,同事经常给你一份二维表,是不是分分钟有想哭的冲动,一大堆的东西在一块,怎么透视?想要做进一步分析,也是特别麻烦。今天给你一种方便的方法。 一、入门版 先来看看可能要处理的文件是什么样的? 看看,别提多闹心了。当然我们不可能一开始就处理这么复杂的样…

Python实现一维表与二维表之间的相互转化

对已有数据表进行一维和二维之间的转化: import pandas as pd# 读入数据: df pd.read_excel(2dims.xls,Sheet1) df df的结构为: 如上图所示df是一个二维表。 # 将二维数据表转化为一维数据表: new_data df.set_index(地区) #…

java 二维表格_实现二维表

create or replace function getGoodsMsgForProtocol( str_in in varchar2,str_classId in varchar2)--分类字 return varchar2 is str_list varchar2(4000) default null;--连接后字符串 str_int number(2) default 0; begin for x in ( select goods.goodsname,goods.specs f…

二维表 转一维表 mysql_Excel二维表转换成一维表(2种方法)

今天大年初四,春节假期还剩三天了,每逢佳节胖三斤,亲们可要注意控制饮食了,要不然春节后无脸见人哟。闲话少说,今日分享如下。 在做数据处理的时候,有的时候为了处理方便我们需要将二维的数据表处理成一维的…

【一起学Rust | 进阶篇 | Grid库】二维表数据结构——Grid

文章目录 前言一、Grid安装和引入二、使用1. 运行官方案例2. Grid宏3. new4. init5. from_vec6. get7. get_mut8. size9. rows10. cols11. is_empty12. clear13. iter14. iter_mut15. iter_col16. iter_col_mut17. iter_row18. iter_row_mut19. push_row20. push_col21. pop_ro…

数据库中的二维表—巧借Excel

一维表和二维表的区别 一维表也常称为流水线表格,它和二维表做出的数据透视表最大的区别在于"行总计"。判断数据是一维表格还是二维表格的一个最简单的办法,就是看其列的内容--每一列是否是一个独立的参数。如果每一列都是独立的参数那就是一维…

倾向得分加权匹配分析方法的R实现

1.1 PSW Package 简介 PSW : Propensity Score Weighting Methods for Dichotomous Treatments. 该包由Huzhang Mao 和LiangLi两位作者贡献,首次发布于2017年10月;该包主要运用倾向得分加权分析方法实现因果效应的推断;主要由5个函数模块构成…

python倾向匹配得分_手把手教你做倾向评分匹配 -PSM

原标题:手把手教你做倾向评分匹配 -PSM 本文首发于“百味科研芝士”微信公众号,转载请注明:百味科研芝士,Focus科研人的百味需求。 各位科研芝士的朋友大家好,今天和大家分享一下新的知识点—PSM,或许大家早已听过这个名词了,或许你对它还是半知半解,不过没关系,希望…

回归问题的置信区间AUC_互助问答第193期:倾向得分匹配法与面板数据问题

问题一:老师您好!我的问题是倾向得分匹配法之前要对匹配变量进行选择,我看见连玉君老师的一篇文章中主要是对处理变量和匹配变量做logit回归,然后根据准R方和AUC值判断,两者越大越好,通常来说AUC应该大于0.…

倾向值匹配法的概述和应用+倾向值分析:统计方法与应用

倾向值匹配法的概述和应用 一、因果推论理论概述 1.在应用倾向值匹配法进行因果推断时需要注意后续的检验理论,否则容易妄议因果。 2.什么是倾向值匹配法? 将各个手册单元多维度的信息,使用统计方法简化成一维的数值,是为倾向值…

因果推断(二)倾向匹配得分(PSM)

因果推断(二)倾向匹配得分(PSM) 前文介绍了如何通过合成控制法构造相似的对照组,除此之外,也可以根据倾向匹配得分(PSM)进行构造,即为每一个试验组样本在对照组中找对与…

PSM倾向得分匹配代码和案例数据

PSM倾向得分匹配代码和案例数据 含义:倾向评分匹配(Propensity Score Matching,简称PSM)是一种统计学方法,用于处理观察研究(Observational Study)的数据。 在观察研究中,由于种种…

倾向得分匹配PSM案例分析

倾向得分匹配(PSM),是一种模仿RCT随机对照试验随机化分组,提高组间均衡性,进而达到降低混杂因素影响目的一种数据处理策略。PSM在计量研究,临床医学等领域有着广泛的应用。 1.案例背景与分析策略 1.1 案例背景介绍 某企业想评价…

使用R进行倾向得分匹配(PSM)

【译文】使用R进行倾向得分匹配(PSM) 作者 Norbert Khler 译者 钱亦欣 根据维基百科,倾向得分匹配(PSM)是一种用来评估处置效应的统计方法。广义说来,它将样本根据其特性分类,而不同类样本间…

倾向匹配得分PSM学习笔记

一直在想写倾向匹配得分PSM学习笔记,好好总结一下。但一直拖着,对倾向匹配得分法虽然思想比较理解,但没有系统地学习,所以这篇博客总结一下老师们的一些文章,在总结中学习,哈哈~ 倾向匹配得分PSM学习笔记 …

倾向得分匹配案例分析

一、倾向得分匹配法说明 倾向得分匹配模型是由Rosenbaum和Rubin在1983年提出的,首次运用在生物医药领域,后来被广泛运用在药物治疗、计量研究、政策实施评价等领域。倾向得分匹配模型主要用来解决非处理因素(干扰因素)的偏差。 …