Pandas中的pivot操作

2023-10-27

目标:读取excel中的长表,将其透视为短表

             

 一张长表转换成宽表,使用函数pivot

前提:查看原数据是否有列名,如果原数据是左图这样

   

 

生成dataframe二维数据时会把第一行数据默认为索引(如右图),造成第一行数据丢失。因此在遇到这种数据时考虑在excel表中首行添加一行数据。具体代码为:

import pandas as pd
import openpyxl
path=r'C:\Users\Admin\Desktop\长表.xlsx'
wb=openpyxl.load_workbook(path)
sheet=wb['Sheet1']
sheet.insert_rows(0)#在0行之前插入一行,因为dataframe会把第一行变成索引
wb.save(path)
data1=pd.read_excel(path)
df=pd.DataFrame(data1,index=None)
df.columns=['列1','列2','列3']
pivoted=df.pivot('列1','列2','列3')
pivoted
pivoted.to_excel(r'C:\Users\Admin\Desktop\宽表.xlsx')

 拓展:将宽表透视为长表的操作为melt,此时的宽表为

 

具体代码为:

import pandas as pd
import openpyxl
path=r'C:\Users\Admin\Desktop\宽表.xlsx'
data1=pd.read_excel(path)
df=pd.DataFrame(data1,index=None)
melted=pd.melt(df,['列1'])
melted.to_excel(r'C:\Users\Admin\Desktop\长表.xlsx')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas中的pivot操作 的相关文章

随机推荐

  • 彻底解决 163邮箱转发邮件提示报错554 DT:SPM smtp12

    原来还好好的 不知道为啥今天早上在群发邮件的时候 显示失败 出现的错误是下图 原来这时因为网易将我发的邮件当成了垃圾邮件 这时候你只要在发邮件的时候抄送上自己 就再也不会报这个错误了
  • Colossal AI 并行技术

    简介 随着深度学习的发展 对并行训练的需求越来越大 这是因为模型和数据集越来越大 如果我们坚持使用单 GPU 训练 训练过程的等待将会成为一场噩梦 在本节中 我们将对现有的并行训练方法进行简要介绍 如果您想对这篇文章进行补充 欢迎在GitH
  • webpack实例解析五(用.env.development设置环境变量)

    原理 1 利用node的fs模块读取文件处理成对象 2 用webpack DefinePlugin插件 设置process env readEnv js const fs require fs const path require path
  • mfc100u.dll丢失的解决方法

    mfc100u dll文件在一些计算机软件 计算机游戏等程序的正常运行中起着关键作用 用户经常对缺乏此类文件的弹出窗口感到困惑 程序显然可以在上次正常运行 突然弹出了缺乏dll文件的提醒窗口 用户可以通过编辑文章轻松解决这类问题 解决方案很
  • js 获取url携带参数

    获取url 携带的参数 比如URL url是这样的 HYQuotationsCard html ID 1 name 2 利用这个方法 如何获取 var id GetUrlParam ID function GetUrlParam var u
  • 请求参数获取

    用户通过浏览器向服务器发送请求 有get和post两种方式 那么我们怎么获得提交的参数呢 方式一 getQueryStringh 和getInputStream 1 get方式提交 System out println get方式提交 St
  • STM32 PCM1770调试

    本文初步介绍了PCM1770配置方法与调试过程 希望能起到抛砖引玉的作用 PCM1770是24位的DAC 支持I2S信号输入 可直接驱动耳机 也可加后级功放来驱动喇叭 应用电压范围为 0 3V至4V 普通的3V3就可以 如图1所示 该DAC
  • Python Keras神经网络实现iris鸢尾花分类预测

    Keras卷积神经网络实现iris鸢尾花分类预测 正确率超过99 1 鸢尾花数据iris csv iris数据集是机器学习中一个经典的数据集 由英国统计学家Ronald Fisher在1936年收集整理而成 该数据集包含了3种不同品种的鸢尾
  • 【模型评估与选择】交叉验证Cross-validation: evaluating estimator performance

    Learning the parameters of a prediction function and testing it on the same data is a methodological mistake a model tha
  • 海贼王热血航线正在连接服务器,航海王热血航线进不去怎么办 进不去解决方法一览...

    航海王热血航线进不去怎么办 进不去解决方法一览 航海王与今天早上正式开服了 相信很多玩家都遇到了进不去的问题 相信很多玩家都想知道应该怎么办 下面就跟着小编一起来看看吧 航海王热血航线进不去游戏怎么办 原因1 网络问题 如果小伙伴们在登录游
  • win10出于安全和性能方面的原因,此Windows 模式只运行...是怎么回事?

    最近安装了win10操作系统的用户反应电脑中无法安装任何程序的现象 在运行exe程序的时候就出现了如下图所示提示 出于安全和性能方面的原因 此Windows 模式只运行应用商店中经过验证的应用 这有助于保护电脑井让其保持平稳运行 x xxx
  • mysql 连接url中useUnicode=true&characterEncoding=UTF-8 的作用

    我们在连接mysql数据库的时候一般都会在url后面添加useUnicode true characterEncoding UTF 8 但是问什么要添加呢 添加的作用是 指定字符的编码 解码格式 例如 mysql数据库用的是gbk编码 而项
  • vue 在js 文件中使用store_vue 如何在 .js 文件引入 store

    项目中如果配置比较多的话 store的使用可能不只是在store文件夹里面的文件 比如下面项目结构 例如希望在api index js 文件使用store 改怎么导入呢 原因 其实在main js我们是导入过store的 并挂在到vue实例
  • 学考计算机使用说明,国家医学考试机考(计算机化)模拟系统考生操作指南

    国家医学考试系统机考 计算机化 模拟考试系统考生操作指南由医学教育网为大家整理 本操作指南用于帮助考生了解计算机化考试流程 熟悉考试系统操作 在正式考试前做好准备 按照考务规定 考生在开考前30分钟可以进入考室候考 接下来为大家说一下相关系
  • 关于傅里叶变换的一点体会

    与君共勉 那些你荒废的时光 终究一天会以一种陨石撞击地球的猛烈闯入你的生活 而你所能做的 也只是悲当以歌 Proton 若你看到上面的话 不要为Proton的身份而吃惊 因为这是渺小如质子的我 并且请你原谅我一个工科生说的一些不够成熟的话
  • openGL之API学习(七)Unable to get the location of uniform

    在使用下面代码时遇到该错误 m textureLocation GetUniformLocation gShadowMap 着色器的代码为 version 330 in vec2 TexCoordOut uniform sampler2D
  • hbase导入数据同时与phoenix实现映射同步

    我们的目标是 创建一个hbase表格 能够通过phoenix进行访问 同时能够导入本地数据到hbase中 最后都能够通过phoenix进行访问 1 先在hbase中创建表格 create WHO GOODS LABEL GID INFO 2
  • 基于MATLAB的LS-SVM实现方法以及SVM的一些知识点

    使用之前需要把LSSVMlabv1 8 R2009b R2011a解压 并在matlab中添加到路径中 下载链接 http www esat kuleuven be sista lssvmlab 我使用的是 V1 8版本 matlab版本我
  • VTK vtkExtractSelection 获取 选择部分 非选择部分

    VTK vtkExtractSelection 获取 选择部分 非选择部分 有时需要获取两部分 这里有实现 共同学习一下 include
  • Pandas中的pivot操作

    目标 读取excel中的长表 将其透视为短表 一张长表转换成宽表 使用函数pivot 前提 查看原数据是否有列名 如果原数据是左图这样 生成dataframe二维数据时会把第一行数据默认为索引 如右图 造成第一行数据丢失 因此在遇到这种数据