python pandas 库的dataframe pivot()函数用法解析:

简而言之,我理解的pivot()的用途就是,将一个dataframe的记录数据整合成表格(类似Excel中的数据透视表功能),而且是按照pivot(‘index=xx’,’columns=xx’,’values=xx’)来整合的。还有另外一种写法,
但是官方貌似并没有给出来,就是pivot(‘索引列’,‘列名’,‘值’)。

下面是官方描述:

============================================================================

Reshape data (produce a “pivot” table) based on column values. Uses unique values from index / columns to form axes of the resulting DataFrame.
译:重塑数据(产生一个“pivot”表格)以列值为标准。使用来自索引/列的唯一的值(去除重复值)为轴形成dataframe结果。

For finer-tuned control, see hierarchical indexing documentation along with the related stack/unstack methods
译:为了精细调节控制,可以看和stack/unstack方法有关的分层索引文件.
、============================================================================
以上内容来自链接:https://blog.csdn.net/siss0siss/article/details/77871027

在数据分析的时候要记得将pivot结果reset_index()。文章最后有关于reset_index()函数的说明

函数说明:

DataFrame.pivot(index=Nonecolumns=Nonevalues=None)

功能:重塑数据(产生一个“pivot”表格)以列值为标准。使用来自索引/列的唯一的值(去除重复值)为轴形成dataframe结果。

   为了精细调节控制,可以看和stack/unstack方法有关的分层索引文件。

   在数据分析的时候要记得将pivot结果reset_index()。

参数:index : string or object, optional

    用于创建新框架索引的列名称。 如果没有,则使用现有的索引。

   columns : string or object

    用于创建新框架列的列名称

   values : string or object, optional

    用于填充新框架值的列名称。 如果未指定,则将使用所有剩余列,结果将具有分层索引列

返回:DataFrame

个人实践:

如图所示:这是在进行数据重塑之前的数据集,可以看到数据集包含三个字段的内容,分别是:name, year, gdp

采用pivot函数对数据集进行重塑(再说一遍:跟Excel中的数据透视表功能类似)

#对数据进行重塑
df = df.pivot(index='name',columns='year',values='gdp')
df = df.reset_index()
df.fillna(1.0,inplace=True)
df

df = df.pivot(index='name',columns='year',values='gdp')的功能

新数据集索引列 = 原数据集'name'列中的值

新数据集列名 = 原数据集‘year’列中的值

新数据集数据 = 原数据集'gdp'列中的值

得到的结果如下图:

转换关系如下:

关于reset_index()的说明

reset_index() 官方文档

DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')
level 将df的原index_label作为新的一列留存,且列名为index,同时自动生成数字index
drop  defalt False,如果是True,删除原来索引
inplace 下面几个都是Multiindex下的参数,后续研究

常用于在数据清洗过后,对数据重新设置连续行索引。

————————————————
版权声明:本文为CSDN博主「Quant_Learner」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/The_Time_Runner/article/details/84076716

Python dataframe.pivot()用法解析相关推荐

  1. python命令行参数解析OptionParser类用法实例

    python命令行参数解析OptionParser类用法实例 本文实例讲述了python命令行参数解析OptionParser类的用法,分享给大家供大家参考. 具体代码如下:     from opt ...

  2. python的property用法_python @property的用法及含义全面解析

    在接触python时最开始接触的代码,取长方形的长和宽,定义一个长方形类,然后设置长方形的长宽属性,通过实例化的方式调用长和宽,像如下代码一样. class Rectangle(object): de ...

  3. python global和nonlocal用法解析

    这篇文章主要介绍了python global和nonlocal用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 global和nonlocal ...

  4. python legb_Python变量作用域LEGB用法解析

    这篇文章主要介绍了Python变量作用域LEGB用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 闭包就是, 函数内部嵌套函数. 而 装饰器只 ...

  5. python中str和input_python中eval()函数和input()函数用法解析

    今天给大家讲解Python中eval()函数和input()函数的用法,希望通过实例的讲解之后大家能对这两个函数有更加深刻的理解. 1.eval()函数 eval(<字符串>)能够以Pyt ...

  6. python nonlocal的用法_python global和nonlocal用法解析

    这篇文章主要介绍了python global和nonlocal用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 ◆global和nonloca ...

  7. python里eval和input组合使用_python中eval()函数和input()函数用法解析

    今天给大家讲解Python中eval()函数和input()函数的用法,希望通过实例的讲解之后大家能对这两个函数有更加深刻的理解. 1.eval()函数 eval()能够以Python表达式的方式解析 ...

  8. python办公自动化模块_Python自动化办公Excel模块openpyxl原理及用法解析

    openpyxl 介绍 openpyxl 是一个直接可用于读写 xlsx .xlsm.xltx.xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动 ...

  9. python中pivot函数用法_python中pivot()函数基础知识点

    不同于以往为大家介绍的函数使用,我们利用pivot函数可以实现的方式,就是用来重塑数据使用的,在python的使用上并不常见,但是如果需要利用这种功能,基本上能够被我们选择调用的函数,pivot函数一 ...

最新文章

  1. 互联网女皇”Mary Meeker 2015互联网趋势报告说了些什么
  2. QT5运行错误:ImportError: cannot import name QAxContainer from PyQt5 解决
  3. k8s 查看mysql 日志_k8s 使用 Init Container 确保依赖的服务已经启动
  4. 【鬼网络】之Linux网络设置
  5. 《自动化技术中的进给电气传动》1.4节读书笔记
  6. Java 并发编程之线程池 ScheduledThreadPool
  7. android 导出数据库文件
  8. 中文汉化AE插件-图层边界自动填充生长动画插件
  9. 科技爱好者周刊:第 83 期
  10. 全面详解互联网企业开放API的 “守护神”
  11. arduino uno + 舵机 + dht11 + 杜邦线 + usb + 面包板 测温度 控制舵机运动
  12. linux系统查看物理地址,Linux 下面对物理地址的访问
  13. 单片机编程之8421码
  14. 本人使用的IDEA插件截图
  15. 动手实现简易端口扫描器——PortScanner
  16. 小程序生产环境必须要购买腾讯云作为服务器吗?
  17. 停止无效学习,4种高效学习方法,快速提升自己
  18. 用CSS 实现水波扩散的特效
  19. 系统架构设计师(截图+做题思路+目录)
  20. 我的世界服务器修改宠物属性,我的世界怎么改宠物名字?

热门文章

  1. 中国联通3G网络覆盖全国200余城市
  2. CodeChef DGCD Dynamic GCD
  3. 消防工程师 1.1 消防给水及设施(3)
  4. 【工具使用】PC端与ARM端网口速率测试方法(jperf与iperfg工具的使用)
  5. 一个故事一首歌——《枯叶之蝶…
  6. linux bsp笔试题,Linux BSP工程师面试常问问题汇集.pdf
  7. LeetCode 每日一题 2021-4-25 (递增顺序搜索树)
  8. PTA1047-C语言-编程团体赛
  9. 骑驴找马:职业发展路图
  10. Struts2--控制标签(s:if、s:elseif、s:else、s:iterator)