一维转二维

两列数据转为化以一列为标签的多列数据,按行按列分类汇总

——数据透视表实现

pivot简介:

1
pivot(index=None,columns=None,values=None)

index:指定哪一列数据为结果Dataframe的索引;
columns:指定哪一列数据作为结果Dataframe的列名;
values:指定哪一列数据作为结果Dataframe的值。

原:

1
study_information3 = study_information2.pivot(index='user_id',columns='course_id',values='user_id')

pivot_table简介:

1
2
DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc='mean',
fill_value=None, margins=False, dropna=True, margins_name='All')

values、index、columns:与pivot相同用法;
aggfunc:用于聚合的函数,默认为numpy,mean,支持numpy计算方法;
fill_value:填充NA值,默认不填充;
margins:指定是否显示边界以及边界上的数据,添加行列的总计,默认不显示;
dropna:如果整行都为NA值,则进行丢弃,默认丢弃;
margins_name:在margins参数为true时,用来修改margins的名称,用来指定边界数据的索引名称和列名。

二维转一维

原:

后:

melt函数简介:

1
j1 = pd.melt(j1,['小类','品名'])