pandas pivot_table() 按日期分多列数据的方法

yipeiwu_com6年前Python基础

如下所示:

date 20170307 20170308
iphone4 2 0
iphone5 2 1
iphone6 0 1

先生成DF数据。

>>> df = pd.DataFrame.from_dict([['ip4','20170307',1],['ip4','20170307',1],['ip5','20170307',1],['ip5','20170307',1],['ip6','20170308',1],['ip5','20170308',1]])

>>> df.columns=['type','date','num']

>>>df
 type   date num
0 ip4 20170307  1
1 ip4 20170307  1
2 ip5 20170307  1
3 ip5 20170307  1
4 ip6 20170308  1
5 ip5 20170308  1
>>> pd.pivot_table(df,values='num',rows=['type'],cols=['date'],aggfunc=np.sum).fillna(0)

操作一下就是实现结果。

注:这个函数的参数形式在0.13.x版本里有效,其他版本请参考相应文档。

从0.14.0开始,参数形式升级成pd.pivot_table(df,values='num',index=['type'],columns=['date'],aggfunc=np.sum).fillna(0)

以上这篇pandas pivot_table() 按日期分多列数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python fileinput模块使用介绍

fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。它的工作方式和readlines很类似,不同点在于它不是将全部的行读到列表...

Python 多个图同时在不同窗口显示的实现方法

Python的matplotlib包可以轻松的将数据可视化,博主最近遇到了一个问题,博主想同时在两个窗口展示两张图,但是代码运行结果总是显示一张图,把当前的图删掉之后才能显示另一张图。网...

python生成词云的实现方法(推荐)

python生成词云的实现方法(推荐)

期末复习比较忙过段时间来专门写scrapy框架使用,今天介绍如何用python生成词云,虽然网上有很多词云生成工具,不过自己用python来写是不是更有成就感。 今天要生成的是励志歌曲的...

详解在Python中处理异常的教程

什么是异常? 异常是一个事件,其中一个程序,破坏程序的指令的正常流的执行过程中而发生的。一般情况下,当一个Python脚本遇到一些情况不能处理,就抛出一个异常。异常是一个Python对象...

Python 时间处理datetime实例

关于datetime也是简单介绍。因为有很多东西需要自己去使用,去查帮助才最有效。例子:计算上一个星期五并输出。解答:import datetime, calendar ...