Python数据分析中 melt()函数的一些用法
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_vars和value_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()函数的一些用法的更多相关文章
- JAVA中字符串函数subString的用法小结
本篇文章主要是对JAVA中字符串函数subString的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 String str; str=str.substring(int begi ...
- Python正则替换字符串函数re.sub用法示例(1)
本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替 ...
- Excel中IF函数的嵌套用法(多条件)
Excel中IF函数的嵌套用法(多条件) Excel中IF函数的嵌套用法(多条件) 函数格式:if(logical_test,value_if_true,value_if_false).其中: ...
- Python 数据分析中常用的可视化工具
Python 数据分析中常用的可视化工具 1 Matplotlib 用于创建出版质量图表的绘图工具库,目的是为 Python 构建一个 Matlab 式的绘图接口. 1.1 安装 Anaconada ...
- 《python解释器源码剖析》第12章--python虚拟机中的函数机制
12.0 序 函数是任何一门编程语言都具备的基本元素,它可以将多个动作组合起来,一个函数代表了一系列的动作.当然在调用函数时,会干什么来着.对,要在运行时栈中创建栈帧,用于函数的执行. 在python ...
- python数据分析中常用的库
Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性,这里就为大家分享几个不错的数据分析工具,需要的朋友可以参考下 Pyth ...
- 《python源代码剖析》笔记 python虚拟机中的函数机制
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.Python虚拟机在运行函数调用时会动态地创建新的 PyFrameObject对象, 这 ...
- SQL Server中row_number函数的简单用法
一.SQL Server Row_number函数简介 ROW_NUMBER()是一个Window函数,它为结果集的分区中的每一行分配一个连续的整数. 行号以每个分区中第一行的行号开头. 以下是R ...
- Python数据分析--Numpy常用函数介绍(3)
摘要:先汇总相关股票价格,然后有选择地对其分类,再计算移动均线.布林线等. 一.汇总数据 汇总整个交易周中从周一到周五的所有数据(包括日期.开盘价.最高价.最低价.收盘价,成交量等),由于我们的数据是 ...
- Python数据分析--Numpy常用函数介绍(9)-- 与线性代数有关的模块linalg
numpy.linalg 模块包含线性代数的函数.使用这个模块,可以计算逆矩阵.求特征值.解线性方程组以及求解行列式等.一.计算逆矩阵 线性代数中,矩阵A与其逆矩阵A ^(-1)相乘后会得到一个单位矩 ...
随机推荐
- getopt函数使用说明
一.查询linux命令手册: #include<unistd.h> #include<getopt.h> /*所在头文件 */ int getopt(intargc, char ...
- qemu4.0+libvirt5.6.0编译使用
1. qemu4.0.0 apt install pythonapt install libpixman-1-dev./configure --prefix=/usrmakemake install ...
- 一文快速回顾 Java 操作数据库的方式-JDBC
前言 数据库的重要性不言而喻,不管是什么系统,什么应用软件,也不管它们是 Windows 上的应用程序,还是 Web 应用程序,存储(持久化)和查询(检索)数据都是核心的功能. 大家学习数据库时,比如 ...
- 浅谈js防抖和节流
防抖和节流是处理高频触发最常见的优化方式,对性能提升有很大的帮助. 防抖:将多次的高频操作优化为只在最后一次执行,应用场景如:输入框,只需在最后一次输入进行校验即可. 节流:保证每隔一段时间只执行一次 ...
- oracle学习笔记1 安装 虚拟机 plsql 连接 oracle
第一步就是安装 为了节省资源,运行起来更快捷,首先是在电脑上安装好vm虚拟机, 新建虚拟机,安装xp,也就是把xp光盘文件导入, 接着在虚拟机中下载oracle,解压的话会用到WinRAR,也一并导入 ...
- Springboot 结合 Netty 实战聊天系统
音视频技术为什么需要微服务 微服务,英文名:microservice,百度百科上将其定义为:SOA 架构的一种变体.微服务(或微服务架构)是一种将应用程序构造为一组低耦合的服务. 微服务有着一些鲜明的 ...
- HTTP 返回状态码403,404,502等不同报错原因及解决思路
要学会看日志rpm的默认路径 /var/log/nginx/源码的默认路径 安装路径/logs/ 排错思路: 1)服务器启动失败,直接"nginx -t"测试语法 看配置文件是 ...
- 全网最详细中英文ChatGPT-GPT-4示例文档-从0到1快速入门python代码解释应用——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)
目录 Introduce 简介 setting 设置 Prompt 提示 Sample response 回复样本 API request 接口请求 python接口请求示例 node.js接口请求示 ...
- 常用ADB命令使用方法
移动端操作流程 在设置中找到关于手机(或关于平板电脑) 连续点击版本号5次 在系统和更新中点击开发者选项 打开USB调试功能 PC端操作流程 打开cmd或powershell 移动到adb.exe所在 ...
- 算法学习笔记(20): AC自动机
AC自动机 前置知识: 字典树:可以参考我的另一篇文章 算法学习笔记(15): Trie(字典树) KMP:可以参考 KMP - Ricky2007,但是不理解KMP算法并不会对这个算法的理解产生影响 ...