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

article/2025/6/30 5:08:20

对已有数据表进行一维和二维之间的转化:

import pandas as pd# 读入数据:
df = pd.read_excel('2dims.xls','Sheet1')
df

df的结构为:

如上图所示df是一个二维表。

# 将二维数据表转化为一维数据表:
new_data = df.set_index('地区') # 将df中的地区一列设置为索引列
df1 = new_data.stack()  # stack的返回对象df1是一个二级索引Series对象
df2 = df1.reset_index() # 通过reset_index函数将Series对象的二级索引均转化为DataFrame对象的列值
df2.columns = ['地区','时间','金额']
df2

df2的结构为:

# 将一维数据表转化为二维数据表:
s = pd.Series(list(df2['金额']),index=[df2['地区'],df2['时间']])  # 利用一维数据表df2构造一个二级索引Series对象
df3 = s.unstack() # 对s执行stack的逆操作unstack
df3

df3的结构为:

将SQL语句一维表形式的查询结果转化成二维表形式:

说明:在数据库sql50中有一张学生成绩表grade(sid,cid,score),其中sid表示学生编号,cid表示课程编号,score表示课程成绩。

grade表结构如下图所示:

import pandas as pd
import pymysql# 定义一个上下文管理器:
class DataBase(object):def __init__(self,name,password):# 创建数据库连接self.conn = pymysql.connect('localhost','root',str(password),str(name),charset='utf8')# 创建cursor对象self.cursor = self.conn.cursor()def __enter__(self):return self.cursor  # 返回cursor对象,且这个cursor对象会被赋给with语句中as后面的变量def __exit__(self,exc_type,exc_value,traceback):self.cursor.close()    # 关闭游标对象self.conn.close()      # 断开数据库连接def main():with DataBase('sql50',883721) as db:db.execute('select * from grade')   # 执行sql语句content = db.fetchall()  # 获取数据(db中保存着查询结果集)df = pd.DataFrame(list(content))  # 将从数据库中查询出的数据放入DataFrame对象中return dfif __name__ == '__main__':df = main()new_cols = ['sid','cid','score']
df.columns = new_cols
df.head()

df部分数据如下图所示:

将一维表形式的查询结果转化成二维表形式:

# 将一维数据表转化为二维数据表:
s = pd.Series(list(df['score']),index=[df['sid'],df['cid']])  # 利用一维数据表df2构造一个二级索引Series对象
new_df = s.unstack() # 对s执行stack的逆操作unstack
new_df

new_df的结构为:

 

参考:

《Python for Data Analysis》2nd Edition

https://blog.csdn.net/qq_41080850/article/details/85100641

PS:本文为博主原创文章,转载请注明出处。


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

相关文章

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年提出的,首次运用在生物医药领域,后来被广泛运用在药物治疗、计量研究、政策实施评价等领域。倾向得分匹配模型主要用来解决非处理因素(干扰因素)的偏差。 …

倾向得分匹配法(PSM)量化评估效果分析

1. 因果推断介绍 如今量化策略实施的效果评估变得越来越重要,数据驱动产品和运营、业务等各方的理念越来越受到重视。如今这方面流行的方法除了实验方法AB testing外,就是因果推断中的各种观察研究方法。 “统计相关性并不意味着因果关系”,数…

PSM倾向得分匹配法【python实操篇】

前言 大家好,我是顾先生,PSM倾向性得分匹配法的Python代码实操终于来啦! ​ 对于PSM原理不太熟悉的同学可以看看前一篇文章:PSM倾向得分匹配法【上篇:理论篇】 目前网上PSM实操的相关文章都是R语言、SPSS和STATA实现…

数据分析36计(九):倾向得分匹配法(PSM)量化评估效果分析

1. 因果推断介绍 如今量化策略实施的效果评估变得越来越重要,数据驱动产品和运营、业务等各方的理念越来越受到重视。如今这方面流行的方法除了实验方法AB testing外,就是因果推断中的各种观察研究方法。 “统计相关性并不意味着因果关系”,数…

PSM倾向得分匹配

1. 简要介绍 我们以 是否上大学 () 对 收入 () 的影响为例来说明这个问题。这里,先讲二者的关系设定为如下线性模型: 显然,在模型 (1) 的设定中,我们可能忽略了一些同时影响「解释变量」—— 是否上大学 () 和「被解释变量」——…

stata 倾向得分匹配操作

倾向得分匹配法是一种研究方法,它在研究某项治疗、政策、或者其他事件的影响因素上很常见。对于经济、金融学领域来说,比如需要研究某个劳动者接受某种高等教育对其收入的影响,或者比如研究某个企业运用了某项管理层激励措施以后对企业业绩的…