pandas melt参数的详细用法
pandas 中的 melt() 函数可以将数据框从宽格式(Wide Format)转换为长格式(Long Format),使得数据更易于进行分析和可视化。 melt() 函数包含以下常用参数:
- id_vars:指定哪些列应该保留在结果中,而不是被转换为变量。默认情况下,所有未指定的列都将被转换为变量。可以使用列名或列索引指定。
- value_vars:指定哪些列应该被转换为变量。可以使用列名或列索引指定。如果未指定,则使用除 id_vars 列以外的所有列作为变量。
- var_name:指定新生成的变量列的名称。默认为 variable。
- value_name:指定新生成的值列的名称。默认为 value。
- col_level:如果原始数据框包含多层列索引,则指定要操作的列层级。默认为 None,表示忽略多层列索引。
下面是一个示例:
import pandas as pd # 创建一个数据框 df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'], 'Math': [90, 80, 70], 'Science': [85, 75, 65], 'History': [80, 70, 60]}) # 使用 melt() 函数将数据框转换为长格式 df_melted = pd.melt(df, id_vars=['Name'], value_vars=['Math', 'Science', 'History'], var_name='Subject', value_name='Score') # 输出转换后的数据框 print(df_melted)
输出结果如下:
Name Subject Score 0 Alice Math 90 1 Bob Math 80 2 Charlie Math 70 3 Alice Science 85 4 Bob Science 75 5 Charlie Science 65 6 Alice History 80 7 Bob History 70 8 Charlie History 60
在这个示例中,使用 id_vars 参数指定 Name 列为保留列,使用 value_vars 参数指定 Math、Science 和 History 列为需要转换为变量的列。var_name 和 value_name 参数分别指定新生成的变量列和值列的名称。
相关文章