📅  最后修改于: 2023-12-03 15:33:23.490000             🧑  作者: Mango
Pandas 是一款基于 NumPy 的开源数据分析库,它提供了很多方便实用的数据处理工具。其中,DataFrame.melt() 方法是一种非常实用的数据重塑工具,可以将 DataFrame 转化为更加易于分析的形式。
Pandas DataFrame.melt() 方法用于将 DataFrame 从宽格式转换为长格式,也叫“融合”。这意味着它可以将 DataFrame 的一些列旋转为行,从而将数据透视为更高效使用和分析的形式。
下面是 Pandas DataFrame.melt() 方法的语法:
DataFrame.melt(id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)
其中,参数说明如下:
下面是 Pandas DataFrame.melt() 方法的一个示例:
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'math_score': [90, 85, 80],
'english_score': [95, 92, 88],
'science_score': [89, 87, 84]
}
df = pd.DataFrame(data)
melted = df.melt(id_vars='name', var_name='subject', value_name='score')
print(melted)
这个示例将 DataFrame 转换为长格式,使得每一行数据只包含一个成绩和一个科目。输出结果为:
name subject score
0 Alice math_score 90
1 Bob math_score 85
2 Charlie math_score 80
3 Alice english_score 95
4 Bob english_score 92
5 Charlie english_score 88
6 Alice science_score 89
7 Bob science_score 87
8 Charlie science_score 84
可以看到,melt() 方法将 math_score、english_score 和 science_score 列融合为一个“subject”列,并将每一个值转移到了一个新的“score”列中。
Pandas DataFrame.melt() 方法是一个非常实用的数据重塑工具,可以将 DataFrame 从宽格式转换为长格式。它使用方便,能够将数据透视为更高效使用和分析的形式。如果你还没有使用过这个方法,建议尝试一下,相信会对你的数据分析工作带来很大帮助。