190417-Rearranging and reshaping data

1. Pivoting DataFrames

190417-Rearranging and reshaping data

如果不指定value那么多个column会被计算

190417-Rearranging and reshaping data

2.Stacking & unstacking DataFrames

  • unstacking dataframes

df.unstack(level="")

 190417-Rearranging and reshaping data

level=1是指第二级

190417-Rearranging and reshaping data

  • stacking dataframes

190417-Rearranging and reshaping data

  • swapping levels of index

df.swaplevel(0,1),注意这里0,1仍然代表第一、二级别

190417-Rearranging and reshaping data

  • sorting index

df.sort_index()

sort之后的数据能够更好地slicing

190417-Rearranging and reshaping data

  • print(dfA.equals(dfB))

如果结果为True说明dfA与dfB相同.

190417-Rearranging and reshaping data

3. Melting dataframes

pd.melt(id_vars='',value_vars='',value_name='',var_name='')

190417-Rearranging and reshaping data

190417-Rearranging and reshaping data

190417-Rearranging and reshaping data

190417-Rearranging and reshaping data

 

190417-Rearranging and reshaping data

pd.melt(   ,col_level=0)

190417-Rearranging and reshaping data

190417-Rearranging and reshaping data

  • pivot table

默认是算平均值

190417-Rearranging and reshaping data

190417-Rearranging and reshaping data

  • aggfunc='count' aggfunc=len 结果一样

190417-Rearranging and reshaping data

190417-Rearranging and reshaping data

  • margins=True 相当于透视表里的grand total:

190417-Rearranging and reshaping data

190417-Rearranging and reshaping data