【Python基础】第十六课:重塑资料

虚拟变量(Dummy Variable),建立透视表(pivot_table),长宽表格转换(stack&unstack)

Posted by x-jeff on September 25, 2020

本文为原创文章,未经本人允许,禁止转载。转载请注明出处。

1.虚拟变量(Dummy Variable)

假设我们有以下数据

👉建立虚拟变量

1
pandas.get_dummies(df["朝向"])

👉合并虚拟变量与原DataFrame

1
df = pandas.concat([df, pd.get_dummies(df["朝向"])], axis=1)

👉舍弃原有字段

1
df = df.drop("朝向", axis=1)

2.建立透视表(pivot_table)

1
df2 = df.pivot_table(index="日期", columns="户型", values="总价", aggfunc='sum')

还可以对df2做转置df2.T

df2中的NaN改为0,使用fill_value

1
df2 = df.pivot_table(index="日期", columns="户型", values="总价", aggfunc='sum', fill_value=0)

aggfunc可能的取值:'mean''sum''count'

3.长宽表格转换(stack&unstack)

👉建立多索引的透视表

1
df_multi_idx = df.pivot_table(index=["标题", "建筑面积"], columns="户型", values="总价", aggfunc='sum')

👉转换为宽表格

1
df_wide = df_multi_idx.unstack()

👉转换为长表格

1
df_long = df_wide.stack()

4.代码地址

  1. 重塑资料