melt()函数是一个数据重塑工具,用于将宽格式数据转换为长格式数据(Unpivot a DataFrame from wide to long format, optionally leaving identifiers set.)

1. 基本语法

pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None, ignore_index=True)

  • frame : 需要重塑的Dataframe
  • id_vars : 保留不变的列,即不进行重塑的列(Column(s) to use as identifier variables)
  • value_vars : 要进行重塑的列,若没有为该变量赋值则默认为所有未包含在id_vars中的列(Column(s) to unpivot. If not specified, uses all columns that are not set as id_vars.)
  • var_name : 新列中变量名一列的列名(Name to use for the ‘variable’ column. If None it uses frame.columns.name or ‘variable’.)
  • value_name : 新列中变量值一列的列名(Name to use for the ‘value’ column.)
  • col_level : Name to use for the ‘value’ column.
  • ignore_index : If True, original index is ignored. If False, the original index is retained. Index labels will be repeated as necessary.

2. 示例

创建一个简单的DataFrame

X1 = pd.DataFrame(
dict(
Person=["Bob", "Alice", "Steve"],
Age=[32, 24, 64],
Weight=[128, 86, 95],
Height=[180, 175, 165],
)
)
  Person Age Weight Height
0 Bob 32 128 180
1 Alice 24 86 175
2 Steve 64 95 165

1) 利用id_vars保留列

当只有id_vars被赋值时,未出现在id_vars中的列均会被重塑

X1.melt(id_vars=["Person"])
  Person variable value
0 Bob Age 32
1 Alice Age 24
2 Steve Age 64
3 Bob Weight 128
4 Alice Weight 86
5 Steve Weight 95
6 Bob Height 180
7 Alice Height 175
8 Steve Height 165

2) 利用value_vars选择要重塑的列

id_varsvalue_vars均被赋值时,未出现在这两个参数中的列不会在新生成的DataFrame中出现

X1.melt(id_vars=["Person"], value_vars=["Weight", "Height"], var_name="Type", value_name="value")
  Person Type value
0 Bob Weight 128
1 Alice Weight 86
2 Steve Weight 95
3 Bob Height 180
4 Alice Height 175
5 Steve Height 165

cf : TP01 Q7, TP02 Q17

Python数据分析中 melt()函数的一些用法的更多相关文章

  1. JAVA中字符串函数subString的用法小结

    本篇文章主要是对JAVA中字符串函数subString的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 String str; str=str.substring(int begi ...

  2. Python正则替换字符串函数re.sub用法示例(1)

    本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替 ...

  3. Excel中IF函数的嵌套用法(多条件)

    Excel中IF函数的嵌套用法(多条件)   Excel中IF函数的嵌套用法(多条件)   函数格式:if(logical_test,value_if_true,value_if_false).其中: ...

  4. Python 数据分析中常用的可视化工具

    Python 数据分析中常用的可视化工具 1 Matplotlib 用于创建出版质量图表的绘图工具库,目的是为 Python 构建一个 Matlab 式的绘图接口. 1.1 安装 Anaconada ...

  5. 《python解释器源码剖析》第12章--python虚拟机中的函数机制

    12.0 序 函数是任何一门编程语言都具备的基本元素,它可以将多个动作组合起来,一个函数代表了一系列的动作.当然在调用函数时,会干什么来着.对,要在运行时栈中创建栈帧,用于函数的执行. 在python ...

  6. python数据分析中常用的库

    Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性,这里就为大家分享几个不错的数据分析工具,需要的朋友可以参考下 Pyth ...

  7. 《python源代码剖析》笔记 python虚拟机中的函数机制

    本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.Python虚拟机在运行函数调用时会动态地创建新的 PyFrameObject对象, 这 ...

  8. SQL Server中row_number函数的简单用法

    一.SQL Server Row_number函数简介   ROW_NUMBER()是一个Window函数,它为结果集的分区中的每一行分配一个连续的整数. 行号以每个分区中第一行的行号开头. 以下是R ...

  9. Python数据分析--Numpy常用函数介绍(3)

    摘要:先汇总相关股票价格,然后有选择地对其分类,再计算移动均线.布林线等. 一.汇总数据 汇总整个交易周中从周一到周五的所有数据(包括日期.开盘价.最高价.最低价.收盘价,成交量等),由于我们的数据是 ...

  10. Python数据分析--Numpy常用函数介绍(9)-- 与线性代数有关的模块linalg

    numpy.linalg 模块包含线性代数的函数.使用这个模块,可以计算逆矩阵.求特征值.解线性方程组以及求解行列式等.一.计算逆矩阵 线性代数中,矩阵A与其逆矩阵A ^(-1)相乘后会得到一个单位矩 ...

随机推荐

  1. vue中小写数字转大写汉字

    numTocoggle(money){ //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖') ...

  2. Windows10电源选项:睡眠、休眠、启用快速启动

    参考链接: http://www.dnpz.net/diannaozhishi/2223.html http://www.cfan.com.cn/2018/0118/130151.shtml 在介绍w ...

  3. loadrunner添加头部

    web_add_auto_header("token_id", "{token_id}"); 或 web_add_header("token_id&q ...

  4. 实验九 团队作业6:团队项目编码与Alpha冲刺

    项目 内容 课程班级博客链接 2018级卓越班 这个作业要求链接 实验九-团队作业6 团队名称 零基础619 团队成员分工描述 任务1:荣娟,鑫任务2:亚楠,桂婷任务3:亚楠,桂婷任务4:荣娟,鑫任务 ...

  5. .Net中跨域问题的解决方案

    开发中前端与后端完全分离并分开发布,遇到跨域问题,一通百度之后,解决方案如下: 把下面的代码放在web.config文件中的 System.WebServer 节点下 <httpProtocol ...

  6. k8sdeploy配置文件示例

    apiVersion: extensions/v1beta1 kind: Deployment metadata: name: [k8s服务名] namespace: default labels: ...

  7. RTC 科普视频丨聊聊空间音频的原理与其背后的声学原理

    在现在很多的线上实时互动场景中,我们重视的不仅仅是互动体验,还要提升沉浸感.而在很多场景中,仅凭空间音频技术,就可以带来如临其境的体验.空间音频技术的原理是怎样的呢? 看过我们新一期的 RTC 科普视 ...

  8. 《golong入门教程📚》,从零开始入门❤️(建议收藏⭐️)

    Go语言学习笔记 本菜鸟的Go语言学习笔记,历时1个月,包含了Go语言大部分的基本语法(不敢说全部),学习期间参考了各种视频,阅读了各种文章,主要参考名单如下: 点击跳转到参考名单<( ̄︶ ̄)& ...

  9. Java面试——Spring Boot

    更多内容,移步IT-BLOG 一.谈谈你对 SpringBoot 的理解 简单说说我的理解:Java是一个静态语言,相比动态语言,它相对笨重,体现在我们搭建 SSM 框架写一个 Helloword 的 ...

  10. 股票数据定向爬虫.py(亲测有效)

    import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url,code='u ...