python数据分析

    技术2025-09-03  9

    DataFrame 宽数据变为长数据的方法----数据处理

    宽数据要变为长数据是为了方便后续作图,比如boxplot需要长数据的格式 。

    in[1]

    df=pd.DataFrame({'X':['A','B','C'],'2010':[1,3,4],'2011':[3,5,2]}) df

    out[1] X 2010 2011 0 A 1 3 1 B 3 5 2 C 4 2

    in[2]

    df_melt=pd.melt(df,id_vars='X',var_name='year',value_name='value') df_melt

    out[2] X year value 0 A 2010 1 1 B 2010 3 2 C 2010 4 3 A 2011 3 4 B 2011 5 5 C 2011 2

    相应的,长数据变为宽数据如下 in[3]

    df_pivot=df_melt.pivot_table(index='X',columns='year',values='value') df_pivot=df_pivot.reset_index() df_pivot

    out[3] year X 2010 2011 0 A 1 3 1 B 3 5 2 C 4 2

    Processed: 0.016, SQL: 9