Pandas数据分析从入门到实战

[Home]

20 使用stack和pivot实现数据透视

1.获取多维度指标数据

df_group = df.groupby([df["pdata"].dt.month,"Rating"])["UserID"].agg(pv = np.sum)
df_group.head(20)

2.unstack实现二维透视

df_stack = df_group.unstack()
# unstack与stack的互逆操作
df_stack.stack().head(20)

3.使用pivot简化透视

df_pivot = df_reset.pivot("pdata","Rating","pv")
#pivot方法相当于df使用set_index创建分层索引再调用unstack

4.stack\unstack\pivot使用语法

stack:

unstack:

pivot:


[Home] [Top]

[Home]

21 apply同时添加多列

如何方便启动jupyter中的notebook小知识:
首先打开目录(这个目录是数据和代码存放的位置),接着点路径位置所在的输入框,输入cmd,那么这个命令行就会再当前目录打开,打开终端的路径就是当前文件存放的路径,这个时候展现的内容就是刚才文件夹内的所有内容了。

# 同时添加多列数据
def_my_fun(row):
 return row["bWendu"]-row["yWendu"],(row["bWendu"]+row["yWendu"])/2
df[["wencha","avg"]] = df.apply(my_func,axis = 1,result_type="expand")

[Home] [Top]