使用熊猫融化将宽数据框重塑为整齐的标识符
原文:https://www.geeksforgeeks.org/resform-wide-data frame-to-stitch-with-identifier-use-pandas-melt/
有时我们需要重塑熊猫的数据框架,以更好的方式进行分析。重塑在数据分析中起着至关重要的作用。熊猫提供了像融化和融化这样的重塑功能。在这篇文章中,我们将看到什么是熊猫融化,以及如何使用它来重塑宽到整齐的标识符。
Pandas Melt():Pandas.Melt()将数据帧从宽格式取消固定为长格式。Pandas melt()功能用于将数据框设计从宽改为长。它用于对数据帧对象进行特定配置,其中至少有一个段作为标识符填充。其余所有部分都被视为质量,并取消固定到线轴和只有两个部分,变量和价值。
语法:pandas.melt(column_level =无,variable_name =无,Value_name='value ',value_vars =无,id_vars =无,frame)
参数:
- 帧:数据帧
- id_vars[元组、列表或数组,可选] :用作标识符变量的列。
- value_vars[元组、列表或数组,可选] :要取消固定的列。如果未指定,将使用所有未设置为 id_vars 的列。
- var_Name[标量] :用于“变量”列的名称。如果没有,则使用 frame.columns.name 或“variable”。
- value_Name[标量,默认‘值’]:用于‘值’列的名称。
- col_level[int 或 string,可选] :如果列是多索引,则使用该级别进行熔化。
例 1:
蟒蛇 3
# Load the libraries
import numpy as np
import pandas as pd
from scipy.stats import poisson
# We will use scipy.stats to create
# random numbers from Poisson distribution.
np.random.seed(seed = 128)
p1 = poisson.rvs(mu = 10, size = 3)
p2 = poisson.rvs(mu = 15, size = 3)
p3 = poisson.rvs(mu = 20, size = 3)
# Declaring the dataframe
data = pd.DataFrame({"P1":p1,
"P2":p2,
"P3":p3})
# Dataframe
print(" Wide Dataframe")
display(data)
data.melt()
# Change the names of the columns
data.melt(var_name = ["Sample"]).head()
# Specify a name for the values
print("\n Tidy Dataframe")
data.melt(var_name = "Sample",
value_name = "Count").head()
输出:
说明:在本例中,我们使用泊松分布创建了三个数据集,并使用熊猫创建了一个数据框。然后使用 melt()函数,我们将长格式的数据重塑为两列,并重命名这两列。默认情况下,第一列称为“变量”,它包含列/变量名。第二列名为“值”,它包含来自宽表单数据框的数据。
例 2:
蟒蛇 3
import pandas as pd
data = pd.DataFrame({'Name': {0: 'Samrat', 1: 'Tomar', 2: 'Verma'},
'Score': {0: '99', 1: '98', 2: '97'},
'Age': {0: 22, 1: 31, 2: 33}})
pd.melt(data, id_vars=['Name'], value_vars=['Score'])
display(pd.melt(data, id_vars=['Name'], value_vars=['Score']))
输出:
说明:在本例中,我们使用熊猫创建了一个数据框。然后,使用 melt()函数,我们在三列中以长格式重塑数据,并将名称指定为 id,将变量指定为 Score,将人员和值指定为他们的分数。除了“id”列,默认情况下第一列被称为“变量”,它包含列/变量名。第二列名为“值”,它包含来自宽表单数据框的数据。