pandas 笔记:pivot_table 数据透视表\pivot

news2024/12/23 17:14:22

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)

4 pivot

不同于pivot_table,pivot不会进行聚合操作,换言之,如果index中有重复值,那么pivot会报错

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

 

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

#ValueError: Index contains duplicate entries, cannot reshape
vp_df.pivot_table(index='tip',
            columns='time',
           values='total_bill')

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/773421.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

# Linux下替换删除文件中的颜色等控制字符的方法

Linux下替换删除文件中的颜色等控制字符的方法 文章目录 Linux下替换删除文件中的颜色等控制字符的方法1 Linux下的控制字符(显示的文字并不是他本身):2 颜色字符范例:3 替换4 最后 我们在shell编程显示输出时,会定义文…

【Java】一个简单的接口例子(帮助理解接口+多态)

要求: 请实现笔记本电脑使用USB鼠标、USB键盘的例子 1. USB 接口:包含打开设备、关闭设备功能 2. 笔记本类:包含开机功能、关机功能、使用 USB 设备功能 3. 鼠标类:实现 USB 接口,并具备点击功能 4. 键盘类&am…

人才输送|我的“捷码低代码工程师”转型之路!

最新职位 招聘岗位:低代码工程师 需求公司:上海北斗西虹桥基地 应聘条件:1、本科以上,最好硕士;2、有三年以上开发经验; 工作内容:带领团队用捷码低代码平台进行项目开发。 工作地点&#xff1a…

长城汽车Hi4技术品牌成果初现,大象转身必将势不可挡

今年1-6月,长城汽车销售52万辆,新能源车型销售9.3万辆,同比增长47%;智能新能源新产品密集上市,新能源销量与占比逐月攀升,6月销售超2.6万辆,占比突破25%,皆创历史新高; 全…

文档翻译成中文怎么弄?今天分享文档翻译免费要怎么弄

有一天,小华来到了一个外国小镇。然而,他发现镇上的路牌、菜单和旅游手册都是用外语写的,让他感到非常困扰。他不知道该去哪里游玩,也无法理解当地的文化和历史。他非常喜欢这个小镇的风景,但是他无法读懂他们这里的一…

【Linux -- 查看进程--ps,top,pstree】

Linux – 查看进程 文章目录 Linux -- 查看进程一、查看进程 -- ps二、动态查看进程的变化 -- top三、pstree -- 可以找进程之间的相关性总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、查看进程 – ps 更详细的可以通过man ps查看 ps aux …

深入理解Java虚拟机(三)垃圾收集器与内存分配策略

Java与C之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随…

echarts图例对齐

富文本不生效,是没有设置lineHeight

【运维】shell监控脚本结合钉钉机器人实现服务及服务器监控告警

文章目录 前言一、监控shell脚本和钉钉机器人二、创建钉钉机器人:1.在钉钉群聊里点击设置2.在设置里点击机器人选项3.再点击添加机器人4.再点击选择自定义机器人5.设置机器人名称、是否加密、是否限制ip、以及触发关键字6.获取机器人的Webhook地址 三、编写监控脚本…

MySQL表关联更新

背景: 有两张表,一张class信息表,一张student信息表,但student表里的信息存在错误,需要用class表中的信息去更新student表数据。 方法一: update student_info s set class_name (select class_name fr…

一本通12951917:装箱问题

不知道说什么废话好了 题目 装箱问题 描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品…

Spring 的依赖注入

Spring 的依赖注入 文章目录 Spring 的依赖注入每博一文案1. 依赖注入1.1 构造注入1.1.1 通过参数名进行构造注入1.1.2 通过参数的下标,进行构造注入1.1.3 不指定参数下标,不指定参数名字,通过自动装配的方式 1.2 set 注入 2. set注入的各种方…

uniapp 小程序 picker 日期时间段选择(精确到年月日时分+周几)

效果图&#xff1a; picker时间选择器 精确到年月日时分周几 需要引入moment.js&#xff0c;有可能引入后在项目内会报错&#xff0c;可以考虑把选择日期作为一个组件引入 1、timepage.vue组件封装 <template><view><picker mode"multiSelector" :va…

人才输送|捷码帮我走出求职迷茫期!

大家好&#xff0c;我是边文军。 很荣幸应余老师之邀&#xff0c;在这里和各位兄弟姐妹分享应聘青岛英哲低代码工程师的求职经历&#xff0c;希望能给大家提供点帮助。 01 自我介绍 先来做一个自我介绍吧&#xff01;我是计算机专业出身&#xff0c;学的移动应用开发专业。学…

【贪心算法part01】| 455.分发饼干、376.摆动序列、53.最大子序和

目录 &#x1f388;LeetCode455.分发饼干 &#x1f388;LeetCode376.摆动序列 &#x1f388;LeetCode53.最大子序和 &#x1f388;LeetCode455.分发饼干 链接&#xff1a;455.分发饼干 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;…

决赛结束,颁奖在即:2023隐私计算大会暨“星河杯”隐私计算大赛颁奖典礼震撼来袭!

7月11日-12日&#xff0c;首届“星河杯”隐私计算大赛4个赛题共计37支团队陆续完成决赛评审&#xff0c;决出的大赛获奖团队代表将受邀出席7月26日在青岛星河湾酒店举办的2023隐私计算大会暨首届“星河杯”隐私计算颁奖典礼。 2023隐私计算大会暨首届“星河杯”隐私计算大赛颁奖…

上海市静安区财政局领导带队调研合合信息,政企共话科技创新

近日&#xff0c;上海市静安区财政局副局长应文婷一行赴市北高新园区&#xff0c;实地走访科技企业上海合合信息科技股份有限公司&#xff08;简称“合合信息”&#xff09;&#xff0c;了解公司技术创新成果及产业布局&#xff0c;倾听企业在发展过程中的政策需求。合合信息董…

【FPGA】Vivado 保姆级安装教程 | 从官网下载安装包开始到安装完毕 | 每步都有详细截图说明 | 支持无脑跟装

目录 &#xff08;如果你有安装包&#xff0c;可跳转至 Step5&#xff09; Vivado 介绍 Step1&#xff1a;进入官网 Step2&#xff1a;注册账号 Step3&#xff1a;进入下载页面 Step4&#xff1a;下载安装包 Step5&#xff1a;安装 Step6&#xff1a;等待软件安装完成 …

Linux--在vim中查看man手册中某个函数的库函数 !man 函数名

比如我用到fork函数&#xff0c;但是我不知道它的库函数&#xff0c;在不想退出vim的情况下&#xff0c;我们可以在命令模式下输入以下指令&#xff1a; !man fork 示例&#xff1a; 注&#xff1a;默认打开的是man手册最底部&#xff0c;需要往上翻才能找到库函数

中国农机自动化:靠补贴喂养还是真市场需求?

近年来&#xff0c;随着科技的快速发展和农业现代化进程的加快&#xff0c;中国农机自动化技术得到了广泛应用和推广。但高速的发展之下&#xff0c;不禁有人疑问&#xff1a;中国农机自动化&#xff1a;靠补贴喂养还是真市场需求&#xff1f; 政策补贴大力支持农机自动化引担忧…