1. 宽数据转长数据,使用melt方法
df.melt(id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None, ignore_index=True)
id_vars, 指定变量不参与融合
value_vars,指定变量参与融合,不指定则默认非id列的所有变量
var_name,融合后生成变量名称,默认variable
value_name,融合后生成变量值得名称,默认value
col_level,数据框有多重列索引时使用
ignore_index,是否忽视原有index
1.1 先生成一个DataFrame
import pandas as pd
data = {"student":[1,2,3,4],"2018":[99,98,60,66],"2019":[60,80,85,77],"2020":[77,68,99,88]}
df1 = pd.DataFrame(data)
df1
1.2 使用melt融合
df1.melt(id_vars = ["student"], value_name = "score