大家好,我是丁小杰!
今天和大家分享Pandas
中四种有关数据透视的通用函数,在数据处理中遇到这类需求时,能够很好地应对。
pandas.melt()
melt
函数的主要作用是将DataFrame
从宽格式转换成长格式。
“
pandas.melt(frame,id_vars=None, value_vars=None, var_name=None, value_name=‘value’, col_level=None, ignore_index=True)
”
参数含义
-
id_vars
:tuple, list, or ndarray,可选,作为标识符变量的列 -
value_vars
:tuple, list, or ndarray, 可选,透视列,如果未指定,则使用未设置为id_vars的所有列。 -
var_name
:scalar,默认为None,使用variable作为列名 -
value_name
:标量, default ‘value’,value列的名称 -
col_level
:int or str, 可选,如果列是多层索引,melt将应用于指定级别 -
ignore_index
:bool, 默认为True,相当于从0开始重新排序。如果为False,则保留原来的索引,索引标签将出现重复。
看个例子先:
import pandas as pd df = pd.DataFrame( {'地区': ['A', 'B', 'C'], '2020': [80, 60, 40], '2021': [800, 600, 400], '2022': [8000, 6000, 4000]})
pd.melt(df, id_vars=['地区'], value_vars=['2020', '2021', '2022'])
设置var_name
与value_name
。
df = pd.melt(df, id_vars=['地区'], value_vars=['2020', '2021', '2022'], var_name='年份', value_name='销售额')