melt函数

Pandas melt() function is used to change the DataFrame format from wide to long. It’s used to create a specific format of the DataFrame object where one or more columns work as identifiers. All the remaining columns are treated as values and unpivoted to the row axis and only two columns – variable and value.

熊猫的melt()函数用于将DataFrame的格式从宽更改为长。 它用于创建DataFrame对象的特定格式,其中一个或多个列用作标识符。 所有剩余的列被视为值和非透视于行轴和只有两列- 变量

1.熊猫melt()示例 (1. Pandas melt() Example)

The use of melt() function is more clear when looked through an example.

通过示例查看时,melt()函数的用法更加清晰。

import pandas as pdd1 = {"Name": ["Pankaj", "Lisa", "David"], "ID": [1, 2, 3], "Role": ["CEO", "Editor", "Author"]}df = pd.DataFrame(d1)print(df)df_melted = pd.melt(df, id_vars=["ID"], value_vars=["Name", "Role"])print(df_melted)

Output:

输出:

Name  ID    Role
0  Pankaj   1     CEO
1    Lisa   2  Editor
2   David   3  AuthorID variable   value
0   1      Name  Pankaj
1   2      Name    Lisa
2   3      Name   David
3   1      Role     CEO
4   2      Role  Editor
5   3      Role  Author

We can pass the ‘var_name’ and ‘value_name’ parameters to change the column names of ‘variable’ and ‘value’.

我们可以传递“ var_name”和“ value_name”参数来更改“变量”和“值”的列名。

df_melted = pd.melt(df, id_vars=["ID"], value_vars=["Name", "Role"], var_name="Attribute", value_name="Value")
Recommended Read: 推荐阅读 : Python Pandas TutorialPython Pandas教程

2.多个列作为id_vars (2. Multiple Columns as id_vars)

Let’s see what happens when we pass multiple columns as the id_vars parameter.

让我们看看将多个列作为id_vars参数传递时会发生什么。

df_melted = pd.melt(df, id_vars=["ID", "Name"], value_vars=["Role"])
print(df_melted)

Output:

输出:

ID    Name variable   value
0   1  Pankaj     Role     CEO
1   2    Lisa     Role  Editor
2   3   David     Role  Author

3.在melt()函数中跳过列 (3. Skipping Columns in melt() Function)

It’s not required to use all the rows from the source DataFrame. Let’s skip the “ID” column in the next example.

不需要使用源DataFrame中的所有行。 让我们跳过下一个示例中的“ ID”列。

df_melted = pd.melt(df, id_vars=["Name"], value_vars=["Role"])
print(df_melted)

Output:

输出:

Name variable   value
0  Pankaj     Role     CEO
1    Lisa     Role  Editor
2   David     Role  Author

4.使用pivot()函数解散DataFrame (4. Unmelting DataFrame using pivot() function)

We can use pivot() function to unmelt a DataFrame object and get the original dataframe. The pivot() function ‘index’ parameter value should be same as the ‘id_vars’ value. The ‘columns’ value should be passed as the name of the ‘variable’ column.

我们可以使用ivot()函数取消融化DataFrame对象并获取原始数据帧。 ivot()函数的“索引”参数值应与“ id_vars”值相同。 “列”值应作为“变量”列的名称传递。

import pandas as pdd1 = {"Name": ["Pankaj", "Lisa", "David"], "ID": [1, 2, 3], "Role": ["CEO", "Editor", "Author"]}df = pd.DataFrame(d1)# print(df)df_melted = pd.melt(df, id_vars=["ID"], value_vars=["Name", "Role"], var_name="Attribute", value_name="Value")print(df_melted)# unmelting using pivot()df_unmelted = df_melted.pivot(index='ID', columns='Attribute')print(df_unmelted)

Output:

输出:

ID Attribute   Value
0   1      Name  Pankaj
1   2      Name    Lisa
2   3      Name   David
3   1      Role     CEO
4   2      Role  Editor
5   3      Role  AuthorValue
Attribute    Name    Role
ID
1          Pankaj     CEO
2            Lisa  Editor
3           David  Author

The unmelted DataFrame values are the same as the original DataFrame. But, the columns and index need some minor changes to make it exactly like the original data frame.

未融化的DataFrame值与原始DataFrame相同。 但是,列和索引需要进行一些细微的更改以使其完全类似于原始数据框。

df_unmelted = df_unmelted['Value'].reset_index()
df_unmelted.columns.name = None
print(df_unmelted)

Output:

输出:

ID    Name    Role
0   1  Pankaj     CEO
1   2    Lisa  Editor
2   3   David  Author

Reference: pandas melt() API Doc

参考 : pandasmelt()API文档

翻译自: https://www.journaldev.com/33398/pandas-melt-unmelt-pivot-function

melt函数

melt函数_熊猫的melt()和使用pivot()函数取消融化相关推荐

  1. python生成器函数_【python】生成器和生成器函数

    1.生成器函数: 普通函数: def func(): print("周杰伦") return "昆凌" func() #执行func()函数,"周杰伦 ...

  2. 原生js已载入就执行函数_手写CommonJS 中的 require函数

    前言 来自于圣松大佬的文章<手写CommonJS 中的 require函数> 什么是 CommonJS ? node.js 的应用采用的commonjs模块规范. 每一个文件就是一个模块, ...

  3. concat函数_三、P57-61 MySQL中常用函数

    本部分主要讲解MySQL数据库中常用函数的使用. P57 SQL中的函数类型:字符串函数.数值函数.日期和时间函数.流程函数.其他常用函数: P58 第1部分:字符串函数 1.concat函数 con ...

  4. 封装成vla函数_第四章:Python之函数

    第一节:函数入门与定义函数 理解函数 所谓函数,就是为一段实现特定功能的代码"取"个名字,以后即可通过该名字来执行(调用)这段代码 从逻辑上看,函数相当于一个黑匣子 定义函数的语法 ...

  5. sigmoid函数_常用的激活(激励)函数——深度学习笔记(建议收藏)

    激活函数(又叫激励函数,后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力,神经网络的每层都会有一个激活函数.那他到底是什么,有什么作用?都有哪些常见的激活函数呢? 深度学习的基本原理就是基于人 ...

  6. stat函数_数据分析工具入门 掌握这些Excel函数就够了

          1.什么是函数 可以把函数理解为一个可以控制的黑箱子,输入X到黑箱子中,他就会输出Y,参数就是黑箱子的控制开关,打到不同的档位,黑箱子会输出不同的Y.       2.常见函数分类 文本清 ...

  7. 未捕获typeerror: $形象。cropper不是函数_没有学不会的python--细说自定义函数的细节...

    没有学不会的python 函数是什么? 老调常谈,还是那老一套,学习一个东西前,先搞懂是什么,再来学习怎么用. 函数函数,如果你是刚经历过高考肯定很熟悉,数学中就经常出现这个名词,比如什么sin函数, ...

  8. python初学者必背函数_新手必看python vlog 1: 函数

    关注本慕没烦恼,python新手瞧一瞧. 从今天开始,本慕开始为新手们带来福利啦!!祝各位python新手们事业有成!!? 今天,我们从最基础的开始讲. 首先大家安装PyCharm了吧!!解释器安装好 ...

  9. python3_函数_形参调用方式 / 不定长参数 / 函数返回值 / 变量作用域 / 匿名函数 / 递归调用 / 函数式编程 / 高阶函数 / gobal和nonlocal关键字 / 内置函数

    1.形参的调用方式 1. 位置参数调用 2. 关键词参数调用 原则: 关键词参数调用不能写在位置参数调用的前边 def test1(name, age):print("name:" ...

最新文章

  1. 技嘉z68pds3刷中文bios_技嘉RTX 3080 VISION OC雪鹰显卡评测:内容创作、3A游戏两不误之选...
  2. mysql学习-常用的函数(字符串函数)
  3. 算法—1,简单说说最常见的冒泡排序(Bubble Sort)
  4. 麒麟810处理器_华为nova5跑分公布,麒麟810到底是什么水平?
  5. IOS开发基础之OC的Block入门_Day09-Block
  6. 多线程并发如何高效实现生产者/消费者?
  7. 精选30道Java多线程面试题
  8. pythonturtle画点的指令_简述python的turtle绘画命令及解释
  9. leetcode441. 排列硬币(二分查找)
  10. phpcmsV9中的CSS_PATH是如何定义的
  11. 又一个停止申请后才知道的功能?QQ至尊保服务“下线” 已试运营三年
  12. (转)Page.ClientScript.RegisterStartupScript 与Page.ClientScript.RegisterClientScriptBlock 之间的区别...
  13. 彩色图像 psnr matlab,psnr rgb matlab程序
  14. PHP自动加载(上)——spl_autoload_register
  15. 《我是一只IT小小鸟》阅读笔记
  16. 计算机控制中的pid是什么意思,PID代表的是什么意思?
  17. aload、aload_1、iload都是什么意思
  18. VS中读取NMEA数据进行定位精度分析
  19. [4G5G专题-50]:物理层-数字波束赋型Beamforming及其数学原理
  20. poj3537 Crosses and Crosses 博弈论

热门文章

  1. 如何在linux centos下安装git(转)
  2. 排序算法(二)Sort with Swap(0,*)
  3. QT生成在Windows下有图标的exe文件(IDE=QT Creator)
  4. [转载] python 如何判断中文的字符串长度
  5. [转载] Python str title()方法
  6. [转载] Pytorch基础介绍
  7. 创建型模式之单例模式
  8. bzoj2257瓶子与燃料——最大公约数
  9. 2017.8.11 think list
  10. hadoop深入学习之SequenceFile