Python实现一维表与二维表之间的相互转化
对已有数据表进行一维和二维之间的转化:
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:本文为博主原创文章,转载请注明出处。
Python实现一维表与二维表之间的相互转化相关推荐
- python二维表转一维表_Excel、Power BI及Python系列:使用Power BI转化一维表与二维表...
上篇文章,老海分享了如何使用Excel完成一维表与二维表之间的转化 本篇老家继续分享使用Power BI来完成一维表与二维表的转化操作. 可能很多小伙伴,不太了解Power BI Power BI是什 ...
- 一维转二维_Excel – 一维表和二维表相互转换,只要一个“=”搞定
关于一维表和二维表的互相转化方法,我真的写过很多种了.且不说在各种案例中顺带提到的技巧,单独开篇讲的,就有以下这些: (头条号功能维护中,暂时无法添加超链接,有兴趣的读者请关注我,查看下历史记录吧) ...
- MySql 如何将一维表变成二维表
将一维表变成二维表, 实际上是一个双循环的查询操作, 需要用的sum(if(...))和group by. 例如: select item_index, item_name, item_target, ...
- Excel:一维表和二维表 互转
一.一维表转二维表 数据源: 一份流水账式的值班表,为了便于打印张贴,现在需要使其变成这样的样式: 也就是从一维表变成传说中的二维表. 1.新建查询 依次单击[数据]→[新建查询] →[从文件]→[从 ...
- 在excel中使用offset和match函数进行二维表对二维表的匹配
这次我们来介绍一个可以快速完成二维表对二维表匹配的方法. 需求背景: 如上图所示,我们现在有两个二维表需要进行匹配,上面这个是匹配源表,我们需要拿这个源表匹配到需匹配的二维表上. 该表是我们的匹配源表 ...
- python二维表转一维表_【习题】一维表转二维表
今天来看看梁总出的练习题哈 转换成下面的二维表效果图(要求:必须要跟效果表一致) 方法1: 小子大神Python: import xlrd import xlwt s = set() d = {} a ...
- Excel分组行转列(Power Query透视列,一维表转二维表)
MySQL的行转列,知道吧!不知道也没关系,往下看!!! 如何把一维表转成二维表(行转列/透视列): 这里我们使用的是Excel内置的PowerQuery功能: 笔者使用的版本是:2019: 效果 表 ...
- 二维表 转一维表 mysql_Excel二维表转换成一维表(2种方法)
今天大年初四,春节假期还剩三天了,每逢佳节胖三斤,亲们可要注意控制饮食了,要不然春节后无脸见人哟.闲话少说,今日分享如下. 在做数据处理的时候,有的时候为了处理方便我们需要将二维的数据表处理成一维的数 ...
- Excel用自动填表快速实现一维表到二维表的转换
如下图的一维数据表,我们看到学生的高考成绩已经出来了,现在我们需要将其转为二维打印格式的交叉表,如何操作呢,首先来看动图演示 (方方格子插件) 1.分解步骤第一步要选择方方格子按钮 2.第二步选择查找 ...
- python生成一维数组,二维数组
1. 列表 a1=[[0] * 5] print(a1) print(type(a1)) #输出: [[0, 0, 0, 0, 0]] <class 'list'> type是内置函数,不 ...
最新文章
- [CF482B]Interesting Array
- Ubuntu设置root密码
- MyBatis-23MyBatis缓存配置【二级缓存】
- Exclusive monitor在spinlock中的应用
- 科大星云诗社动态20210223
- 七种常见分布式事务详解(2PC、3PC、TCC、Saga、本地事务表、MQ事务消息、最大努力通知)
- Linux上搭建nginx,及简单配置
- 技术论坛 | CCF YOCSEF上海即将在 CNCC 举办“知识图谱遇见社交媒体”专题论坛
- 【资源】史上最全数据集汇总
- 新网域名查询和注册API接口类 源码
- linux修改ip dhcp,Linux下在静态IP与动态DHCP之间切换的脚本
- SAP License:作业类型作为成本对象
- TP/TCP/UDP
- mangos代码阅读
- 放缩法 —— 渐进记号的相关证明
- onfling滑动界面进行Activity切换
- 并行开发 5.同步机制(下)
- MyCat的zookeeper集群模式总结
- Neo4j下载安装教程
- matlab最优化函数
热门文章
- 分库分表学习总结(1)——数据库中间件MyCat学习总结之MyCat入门简介
- 悉尼大学高级计算机专业世界排名,悉尼大学专业排名一览及最强专业推荐(QS世界大学排名)...
- 微信公众号引流的十种方法
- 如何快速将MOV格式视频转换成MP4格式
- 每日算法(5)——正整数分解质因数
- 【文本挖掘】关键词提取
- 新计算机c盘太小,Windows自带C盘扩容方法,c盘太小怎么重新分区
- 固态硬盘颗粒:SLC/MLC/TLC区别
- web前端期末大作业 html+css+javascript防天天生鲜官网网页设计实例 企业网站制作
- A品牌电动车全国营销方案