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

yipeiwu_com7年前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基础教程之面向对象的一些概念

Python使用类(class)和对象(object),进行面向对象(object-oriented programming,简称OOP)的编程。 面向对象的最主要目的是提高程序的重复使...

python Matplotlib画图之调整字体大小的示例

python Matplotlib画图之调整字体大小的示例

一张字体调整好的示例图: 字体大小就是 fontsize 参数 import matplotlib.pyplot as plt # 代码中的“...”代表省略的其他参数 ax =...

Python求平面内点到直线距离的实现

Python求平面内点到直线距离的实现

近期遇到个问题,需要计算平面内点到直线的距离,发现数学知识都还给老师了,度娘后找到计算方法,特此记录。 点到直线的计算公式: 通过公式推导,得到信息: A:直线斜率 B:固定值-1 C...

python for 循环获取index索引的方法

使用 enumerate 函数 可以返回下标。 例如 for inx, val in enumerate(['uyy', 'dfdf']): print(inx) pri...

python 列表,数组和矩阵sum的用法及区别介绍

python 列表,数组和矩阵sum的用法及区别介绍

1. 列表使用sum, 如下代码,对1维列表和二维列表,numpy.sum(a)都能将列表a中的所有元素求和并返回,a.sum()用法是非法的。 但是对于1维列表,sum(a)和nump...