当前位置: 首页 > news >正文

pandas 笔记:pivot_table 数据透视表

1 基本使用方法

pandas.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False, sort=True)

2 主要参数

dataDataFrame
values要进行聚合的列
index在数据透视表索引(index)上进行分组的键
columns在数据透视表列(column)上进行分组的键
agg_func聚合方式
fill_value缺省值的填充方式,默认为NAN
margins默认为False,设置为True之后,会计算一个总的value值

3 使用方法

3.0 导入数据

import pandas as pd
# Visual Python: Data Analysis > File
vp_df = pd.read_csv('https://raw.githubusercontent.com/visualpython/visualpython/main/visualpython/data/sample_csv/tips.csv')import seaborn as sns
import numpy as np
vp_df.head()

3.1 基本使用

vp_df.pivot_table(index='day',columns='time',values='total_bill')

 

 3.2 index

  • aggfunc默认按平均值聚合,values默认只显示可以按平均值聚合的数据

index为一列名字的效果如3.1所示,多列的话,效果如下

vp_df.pivot_table(index=['day','size'],columns='time',values='total_bill')

 顺序不同,效果也不同

 3.3 values

筛选需要显示的列

values 中一个元素的结果和3.1一样,如果是多个元素,那就是一个value的透视表之后接另一个:

vp_df.pivot_table(index='day',columns='time',values=['total_bill','size'])

 3.4 columns

列索引

columns中一个元素的结果和3.1一样,如果是多个元素,那就是

vp_df.pivot_table(index='day',columns=['time','size'],values='total_bill')

3.5 aggfunc

聚合方式,默认为求平均

vp_df.pivot_table(index='day',columns='time',values='total_bill',aggfunc=sum)

3.5.1 不同的列不同的聚合方式

vp_df.pivot_table(index='day',columns='time',values=['total_bill','size'],aggfunc={'total_bill':sum,'size':min},margins=True)

 

 

 3.5 fill_value

vp_df.pivot_table(index='day',columns='time',values='total_bill',fill_value='Not a Num')

 

 3.6 margins

vp_df.pivot_table(index='day',columns='time',values='total_bill',aggfunc=sum,margins=True)

 

http://www.lryc.cn/news/95005.html

相关文章:

  • C#(六十)之Convert类 和 Parse方法的区别
  • 暑期代码每日一练Day3:874. 模拟行走机器人
  • 肖sir___环境相关的面试题
  • 代理IP、Socks5代理和SK5代理的前沿技术与未来发展趋势
  • VM(CentOS7安装和Linux连接工具以及换源)
  • 阿里云斩获 4 项年度云原生优秀案例丨阿里云云原生 6 月动态
  • dede图片集上传图片时出错显示FILEID的解决办法
  • 【亲测有效】 通过mysql指令 导出数据库中表名 和 表名的备注
  • 【Nginx08】Nginx学习:HTTP核心模块(五)长连接与连接处理
  • 第八十五天学习记录:C++核心:内存分区模型
  • Chrome远程调试webview
  • 爬虫与反爬虫的攻防对抗
  • 【机器学习】特征工程 - 字典特征提取
  • 用户交互----进入游戏
  • 排序算法 - 快速排序(4种方法实现)
  • C++入门知识点
  • 开眼界了,AI绘画商业化最强玩家是“淘宝商家”
  • 机器学习与深度学习——自定义函数进行线性回归模型
  • 大屏项目也不难
  • c#webclient请求中经常出现的几种异常
  • 设计模式-原型模式
  • sentinel介绍-分布式微服务流量控制
  • 基于Redisson的Redis结合布隆过滤器使用
  • BrowserRouter刷新404解决方案
  • 解决appium-doctor报opencv4nodejs cannot be found
  • 安卓通过adb pull和adb push 手机与电脑之间传输文件
  • java常用的lambda表达式总结
  • 分布式应用之zookeeper集群+消息队列Kafka
  • GStreamer学习笔记(四)
  • DBeaver连接华为高斯数据库 DBeaver连接Gaussdb数据库 DBeaver connect Gaussdb