首页 > 编程语言 > 详细

python使用pandas创建透视表(Pivot tables)

时间:2019-11-06 19:10:44      阅读:142      评论:0      收藏:0      [点我收藏+]

代码在最下面

思路:
1、准备号DataFrame数据集
2、根据需要将DataFrame转换成透视表

  2.1、创建简单的透视表(默认计算平均值)

    2.2、修改参数,满足需求(求和,计算数量等)

本文参考链接参考:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.pivot_table.html?highlight=pivot_table#pandas.DataFrame.pivot_table

1、准备DataFrame

  通过代码生成一个 24行,5列 的DataFrame,D和E是长度为24,具有标准正态分布的一维数组

技术分享图片

   生成了一个24行5列的DataFrame,格式如下

技术分享图片

 2、根据需要将DataFrame转换成透视表

  2.1、创建一个简单的透视表,格式为:A作为行,计算D列的平均值

  技术分享图片

       生成的透视表结果如下

技术分享图片

     2.2、修改参数

    创建一个简单的透视表,格式为:A,作为行,计算D列的总和

技术分享图片

         生成的透视表结果如下

  技术分享图片

       具体代码如下

import  pandas  as pd
import numpy as np
import datetime
#通过代码生成一个 24行,5列 的DataFrame,D和E是长度为24,具有标准正态分布的一维数组
df = pd.DataFrame({‘A‘: [‘one‘, ‘one‘, ‘two‘, ‘three‘] * 6,
                   ‘B‘: [‘A‘, ‘B‘, ‘C‘] * 8,
                   ‘C‘: [‘foo‘, ‘foo‘, ‘foo‘, ‘bar‘, ‘bar‘, ‘bar‘] * 4,
                   ‘D‘: np.random.randn(24),
                   ‘E‘: np.random.randn(24),
                   ‘F‘: [datetime.datetime(2013, i, 1) for i in range(1, 13)]
                    + [datetime.datetime(2013, i, 15) for i in range(1, 13)]})
#打印出数据格式
print(df)

#创建一个简单的透视表,格式为:A,作为行,计算D列的平均值
df_pivotTable1= pd.pivot_table(df, values=‘D‘, index=[‘A‘])

print(df_pivotTable1)

#创建一个简单的透视表,格式为:A,作为行,计算D列的总和
df_pivotTable2= pd.pivot_table(df, values=‘D‘, index=[‘A‘],aggfunc=np.sum)

print(df_pivotTable2)

 

 

python使用pandas创建透视表(Pivot tables)

原文:https://www.cnblogs.com/rui-yang/p/11807090.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!