在Python中,pandas是用于数据修改和分析的最高效、最简单、最强大的开源库工具。Pandas 融化函数是用于调整 Pandas 数据框大小的技术之一,这在数据科学中特别有用。Pandas 熔体函数可以用作。熔化() 熊猫中的函数。本文将更详细地介绍 Pandas 的 Melt 函数,以便您可以充分了解它最重要的功能以及它如何与 Python 配合使用。我们将首先回顾一下该方法的语法和参数。之后,我们将使用一些示例以及实现来解释 pd.melt() 函数的每个参数。
熊猫融化会做什么?
熔化函数帮助我们将数据帧从宽格式重塑为长格式。使用它可以简化我们的数据集,并且我们可以轻松分析数据并从中获得更多见解。在 Pandas.melt() 中,数据框对象以指定的格式创建,其中一列或多列充当标识符。简单来说,对于每一列,我们将有一行。因此,保留一列或多列:标识符。其余列均视为值。
在 python 中,标识符是变量、类、函数和数组等的名称。例如:
Name = "ABC" |
在上面的代码中,Name 是一个变量(标识符),其中包含值 ABC。
宽而长的数据框:
让我们看看 DataFrame 的宽度和长度,以便更好地了解 pandas.melt() 函数。下面是宽格式的 DataFrame 图像:
现在,默认情况下 DataFrame 在 Pandas 中采用宽格式。让我们看一下长格式的同一个 DataFrame:
语法和参数:
语法: 我们可以使用两种类型的语法来应用熔化函数:
DataFrame.melt(id_vars = None , value_vars = None , var_name = None , value_name = 'value' , col_level = None , ignore_index = True ) 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 [元组、列表或数组,可选]:标识用作变量的列。
value_vars [元组、列表或数组,可选]: 逆透视列,如果未提供任何内容,则使用所有列。
var_name[标量]: 用作“变量”列的名称。
value_name[scalar, default ‘value’]: 应使用列的名称。
col_level[int 或 string, 可选]: 使用此级别来融化列是否为 MultiIndex。
ignore_index[True or False]:默认True,表示是否忽略原始索引。
实施。熔化()功能:
现在您已经清楚了 to_melt() 函数的语法。现在,让我演示一下如何使用它。
导入 Pandas 并创建数据框:
首先,我们将使用 import pandas 语法导入 pandas 库。为了使用处理日期值的函数,我们必须将 pandas 导入为 pd。此外,我们需要这个库才能使用其他重要工具,例如 Melt() 函数和许多其他函数。出于简单的目的,我们在这里将其导入为 pd。之后,我们必须制作一个 Dataframe 来轻松理解熔化函数的概念。您还可以读取 excel 和 CSV 文件来应用融化函数,但为了理解,我正在创建自己的 Dataframe。
要了解有关 pandas 库基础知识的更多信息,请查看本教程。
1
2
3
4
5
6
7
8
9
|
import pandas as pd data = { 'Name' : [ 'Aman' , 'Rohini' , 'Neha' ], 'Age' : [ 56 , 23 , 32 ], 'Rank' : [ 1 , 2 , 3 ] } df = pd.DataFrame(data) df |
正在申请。熔化()功能:
现在我要申请。熔化() 直接在数据帧(df)上。让我们看看输出。
df.melt() |
让我们看看当我们添加 id_vars 和 value_vars 参数时会发生什么。熔化()
添加单个值id_vars和值变量:
df2 = df.melt( id_vars = [ 'Name' ], value_vars = [ 'Age' ]) df2 |
从上面的输出中,我们可以看到只有一个变量Age,并且Name被用作标识列。
添加多个值id_vars和值变量:
让我们看看当我们向 value_vars 参数添加多于一列时会发生什么。同样,我们也可以在 id_vars 中添加多列。下面给出了这样的一个例子:
df2 = df.melt( id_vars = [ 'Name' ], value_vars = [ 'Age' , 'Rank' ]) df2 |
df2 = df.melt( id_vars = [ 'Name' , 'Age' ], value_vars = [ 'Rank' ]) |
定制:
我们还可以通过添加 var_name 和 value_name 参数来自定义 Dataframe。下面给出了一个这样的例子:
df.melt(id_vars = [ 'Name' ], value_vars = [ 'Rank' , 'Age' ], var_name = 'Newname' , value_name = 'Newnumerical' ) |
添加列级:
col level 参数可用于使用列级别的索引来融合 DataFrame,如下例所示:
df.melt(id_vars = [ 'Name' ], value_vars = [ 'Rank' , 'Age' ], var_name = 'Newname' , value_name = 'Newname' , col_level = 0 ) |
添加忽略索引:
为了忽略或保留原始索引,我们使用ignore_index函数。如果为 false,则保留原始索引。以下是这两种情况的示例:
df.melt(id_vars = [ 'Name' ], value_vars = [ 'Rank' , 'Age' ], var_name = 'Newname' , value_name = 'Newnerical' , col_level = 0 , ignore_index = True ) |
df.melt(id_vars = [ 'Name' ], value_vars = [ 'Rank' , 'Age' ], var_name = 'Newname' , value_name = 'Newnerical' , col_level = 0 , ignore_index = False ) |
结论:
在本教程中,您了解了 Pandas melt()
函数,该函数使您能够将数据框从宽格式重塑为长格式。我希望您理解上面提出的想法和插图,并且现在准备将它们应用到您的 Pandas DataFrame 中。谢谢阅读!请继续关注我们,获取更多精彩的 Python 编程学习材料。
参考:
这是 pydata文档页面,解释了如何使用 pandas.melt() 函数,包括其参数、允许的值以及函数的工作原理。