Pandas 的melt函数解析
pandas.melt
(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)
frame: 要处理的数据集。
id_vars: 可选项,不需要被转换的列名。
value_vars: 可选项,需要转换的列,如果剩下的列全部都要转换,就不用写了。
var_name和value_name: 自定义设置对应的列名。
col_level :如果列是MultiIndex,则使用此级别。
function:Unpivot a DataFrame from wide to long format, optionally leaving identifiers set.
功能:将数据从从宽数据转换为长数据,有选择的保留标识列。
df.pivot() 将长数据集转换成宽数据集,df.melt() 则是将宽数据集变成长数据集
宽数据如下:
9/30/2018 6/30/2018 3/31/2018
项目
Total 1,078,836 1,026,542 868,008
Cost 884,207 775,858 654,927
Profit 194,629 250,684 213,081
长数据如下:
项目 数额 时间
Total 1,078,836 9/30/2018
Cost 884,207 9/30/2018
Profit 194,629 9/30/2018
Total 1,026,542 6/30/2018
Cost 775,858 6/30/2018
Profit 250,684 6/30/2018
Total 868,008 3/31/2018
Cost 654,927 3/31/2018
Profit 213,081 3/31/2018
举例说明:
import pandas as pd
df = pd.DataFrame({'A': {0: 'a', 1: 'b', 2: 'c'},'B': {0: 1, 1: 3, 2: 5},'C': {0: 2, 1: 4, 2: 6}})
df
转换1:保留A列,对C列进行转换: 即将原C列的数据保留,原C列字段名作为新的数据列variable的数值。
df=pd.melt(df,id_vars='A',value_vars='C')
df
明白了吗?其实可以这样理解:就是A列列名、内容保持不变,B列的列名、内容被丢掉,C列列名被重塑为variable列数据、内容被重塑为value列数据。
转换2:保留A列,剩下的列全部转换。
df=pd.melt(df,id_vars='A')
df
即: A列列名、内容保持不变,B、C列列名被重塑为variable列数据、内容被重塑为value列数据。
转换3:保留A列,剩下的列全部转换,给设置的列定义列名
df=pd.melt(df,id_vars='A',var_name='Cat',value_name='Dog')
df
即: A列列名、内容保持不变,B、C列列名被重塑为Cat列数据、内容被重塑为Dog列数据。
Pandas 的melt函数解析相关推荐
- Python pandas.DataFrame.melt函数方法的使用
Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.Pandas提供了大量能使我们快速 ...
- pandas使用melt函数将宽表变换为窄表、id_vars参数指定原宽表聚合数据列、value_vars参数指定需要被压缩的数据列(单个、多个)、var_name指定压缩后数据列的名称
pandas使用melt函数将宽表变换为窄表.id_vars参数指定原宽表聚合数据列.value_vars参数指定需要被压缩的数据列(单个.多个).var_name指定压缩后数据列的名称.value_ ...
- python重要的第三方库pandas模块常用函数解析之DataFrame
pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...
- pandas的apply函数解析
apply函数 apply函数是pandas里面所有函数中自由度最高的函数.该函数如下: DataFrame.apply(func, axis=0, broadcast=False, raw=Fals ...
- pd.DataFrame()函数解析(最清晰的解释)
欢迎关注WX公众号:[程序员管小亮] DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 文章目录 欢迎关注WX公众号:[程序员管小亮] ==DataF ...
- pandas使用read_csv函数读取文件并解析日期数据列(parse dates)、pandas使用read_csv函数读取文件并将缺失值转化为空字符串
pandas使用read_csv函数读取文件并解析日期数据列(parse dates).pandas使用read_csv函数读取文件并将缺失值转化为空字符串 目录
- 【Python专题】pandas.melt函数
大家经常把melt函数和透视表pivot_table函数放在一起对比. 同时,这里有一篇不错的对比的文章.Pandas melt和pivot_table比excel透视表好用多了 以及pandas行转 ...
- 12个很棒的Pandas和NumPy函数,让解析事半功倍
感谢作者分享-http://bjbsair.com/2020-04-07/tech-info/30428.html 大家都知道Pandas和NumPy函数很棒,它们在日常分析中起着重要的作用.没有这两 ...
- python pandas读取excel-Python使用Pandas读写Excel实例解析
这篇文章主要介绍了Python使用Pandas读写Excel实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Pandas是python的一个 ...
最新文章
- eclipse运行 Maven Test命令时控制台输出乱码的解决办法
- 全球及中国有机肥料行业投资价值与营销品牌战略报告2022版
- 接口测试学习——jmeter分布式压测
- Android 7.1 bootchart触发后导致不断重启
- Wordpress 数据库查询错误 Call to a member function get_results() on null
- Java中测试异常的多种方式
- BS 和CS的区别
- 软件充值功能测试点有哪些?以手机话费充值为例
- linux下浏览器插件 打开本地程序,使用Url Schemes打开本地程序
- 防火墙开放21端口linux,linux防火墙开放80,3306,21,443端口
- ExoPlayer播放器 开发者指南(官方权威指南译文)
- Flask项目实战--管理系统
- 程序员:工作8年,存款100W,回老家买两套房子,网友:醒醒吧
- IDM下载百度网盘文件,获取百度网盘文件url地址,破解
- #define 详解
- 什么是Chrome和ChromeClient
- 神奇宝贝游戏 1.12
- SpringCloud 微服务框架
- GreenDao使用
- Python心经(2)
热门文章
- Flutter BLoC
- GOJS入门三-如何设置节点间的连线
- Java判断字符串是不是整数
- 阿里痛斥纵容造假包庇售假是社会公敌,对比四平台打假凸显“阿里力度”
- 2022-08-18 mysql/stonedb-aggregate场景group by分析
- 使用matlab编程给qq或163邮箱等发邮件
- Exchange绝妙使用-日历、邮件、通讯录双向同步
- 《无线通信与网络》 第一章 概述
- 网上看到一个提供WebService的地方,如果作webService测试,不妨试试
- 边缘设备、系统及计算杂谈(17)——Ansible学习