文章目录

  • 序言
  • 代码示例
  • 工作原理讲解
    • 带名index 和 默认index
    • rename_axis
    • reset_index
  • rename_axis,set_index,reset_index对于DataFrame下的应用
  • 其他应用
    • quantile结果转为DataFrame

序言

本例讲了如何将value_counts结果转为dataFrame,本质是将Series转为DataFrame,学会后触类旁通。

学到的知识包括:

  • Series
  • index简介
  • rename_axis
  • reset_index
  • set_index

代码示例

value_counts的结果是一个series,其index为原来列的值,value为值的个数。要将其转为DataFrame需要两个函数rename_axisreset_index.
代码如下:

>>>> df = pd.DataFrame([[i,i*10] for i in range(10)], columns=['a', 'b'])
>>> dfa    b
0   0   0
1   1   10
2   2   20
3   3   30
4   4   40
5   5   50
6   6   60
7   7   70
8   8   80
9   9   90
>>> df.b.value_counts().rename_axis("b").reset_index(name="counts")b  counts
0   0   1
1   10  1
2   20  1
3   30  1
4   40  1
5   50  1
6   60  1
7   70  1
8   80  1
9   90  1

工作原理讲解


问题变成,将series转为DataFrame,在这个过程中需要介绍下index类别和两个函数。

带名index 和 默认index

rename_axisreset_index对于SeriesDataFrame都可以用。现在讲一下在Series下的功能。

rename_axis

value_counts的结果是无名index,要给他一个名字,使用rename_axis即可。rename_axis给index改名字,不支持给value列改名字。对于DataFrame时候,支持对列改名字。如下:

rename_axis只有一个axis轴,所以参数axis值为0。在series下,rename_axis只有给index改名字的功能。

reset_index

reset_index对于series对象来说,将series转为dataframe,同时做三件事:

  1. index转为普通列
  2. 给新的dataFrame设置一个默认RangeIndex
  3. 给value列一个名字,这个名字用name参数传递。如下:
>>> s = pd.Series(["dog", "cat", "monkey"])
>>> s.rename_axis("key").reset_index('key', name="animal")key   animal
0   0   dog
1   1   cat
2   2   monkey

rename_axis,set_index,reset_index对于DataFrame下的应用

set_index是给DataFrame指定某一列作为index,并抛弃掉原来的index。
如下:

reset_index是将DataFrame的index重置为普通列,并设置一个默认index。如下:

其他应用

quantile结果转为DataFrame

>>> df = pd.DataFrame([[i,i*10] for i in range(10)], columns=['a', 'b'])
>>> df.a.quantile([i/4 for i in range(5)]).rename_axis("a_decile").reset_index(name='value_pointer')a_decile  value_pointer
0   0.00    0.00
1   0.25    2.25
2   0.50    4.50
3   0.75    6.75
4   1.00    9.00

Pandas小白入门原理解释(一)---将value_counts的结果转为DataFrame相关推荐

  1. 知识点2 假设检验 显著水平和拒绝域的入门原理解释

    笔记来源:通俗统计学原理入门5 假设检验 显著水平 significance level α 拒绝域 rejection region_哔哩哔哩_bilibili 目录 摘要 一.假设检验 二.显著水 ...

  2. python发邮件图片太长显示不出来_小白入门,用python 发送定时邮件,将Dataframe转为邮件正文,链接显示为图片...

    在实际工作中,我们常常会遇到定时发送邮件的任务,基于我的实践,分享给大家,也许一篇文章写不完,就先列个目录. 本文想要解决的问题: 用python构造一封邮件,并设置定时发送出去.往往,这只是最低级的 ...

  3. 小白入门STM32(2)---控制SG90舵机---基础工作原理详解

    文章目录 序言 一.基础理论 1.1 舵机控制原理--PWM 习题 1.2 定时器 1.2.1 基础定时器 时钟装置 循环计数器 1.2.2 比较定时器 习题 二.实战上手 2.1 设置定时器和单片机 ...

  4. 小白入门谱聚类算法原理与实现

    小白入门谱聚类算法原理与实现 小白入门谱聚类算法原理与实现 1. 谱聚类是什么? 2.谱聚类步骤 2.1 谱聚类构图 2.2 谱聚类切图 2.2.1RatioCut 2.2.2Ncut 3谱聚类实现 ...

  5. python 快速排序_小白入门知识详解:Python实现快速排序的方法(含实例代码)...

    前言: 今天为大家带来的内容是:小白入门知识详解:Python实现快速排序的方法(含实例代码)希望通过本文的内容能够对各位有所帮助,喜欢的话记得点赞转发收藏不迷路哦!!! 提示: 这篇文章主要介绍了P ...

  6. python魔力手册-小白入门宝典:Python快速入门魔力手册 PDF 超清版

    给大家带来的一篇关于Python编程相关的电子书资源,介绍了关于小白入门.python入门.Python手册方面的内容,本书是由魔力手册出版,格式为PDF,资源大小11.8 MB,魔力手册编写,目前豆 ...

  7. 【自己动手写神经网络】小白入门连载(二)--机器人时代必须得有人工神经(不是神经病)...

    2019独角兽企业重金招聘Python工程师标准>>> [自己动手写神经网络]小白入门连载(一) 在上一章中,我们已经介绍了神经网络的基本概念.思想,并提及了有关人工神经元模型的部分 ...

  8. 小白入门商业数据分析师的课程测评

    本人背景 本人主要学习市场营销专业,需要接触大量数据分析的工作,比如市场调查过程中的统计分析还有文本挖掘等工作.但是本人学校教学偏向理论教学,对于spss.python.R语言的学习需要自行网络学习, ...

  9. 五分钟教你使用vue-cli3创建项目(三种创建方式,小白入门必看)

    五分钟教你使用vue-cli3创建项目(三种创建方式,小白入门必看) 一.搭建vue环境 安装Nodejs 官网下载Nodejs,如果希望稳定的开发环境则下LTS(Long Time Support) ...

最新文章

  1. 算法er的尽头会是To B吗?
  2. js如何获取jwt信息_学习后端鉴权系列: 基于JWT的会话管理
  3. Ubuntu 20.04 搜索引擎环境搭建 (PostgreSQL 12.3, Redis 6, ELK[Elasticsearch 7.8, Logstash 7.8, Kibana 7.8])
  4. log4j日志文件 log4j.xml log4j.properties配置
  5. CAS在Java类中的应用
  6. ffmpeg下载视频
  7. windows 窗口实现隐藏任务栏预览
  8. 哔哩哔哩缓存视频无声音,使用python合成音频与视频
  9. 如何生成3分钟,5分钟,n分钟K线数据
  10. windows 运行 自定义 命令 的实现
  11. c# 编写水准测量平差程序
  12. 一些常用的公共 DNS 服务器 IP 地址
  13. 无法与ftp服务器建立连接
  14. 抓起整个网站离线浏览的软件Teleport Pro
  15. 在职可以考计算机吗,沈阳师范大学在职研可以考计算机证吗
  16. Python ACM模式
  17. Spring项目整合WebService服务遇到问题记录
  18. python爬虫爬取百度、360搜索引擎信息
  19. wmm的学习日记(XSS跨站脚本漏洞)
  20. 用C语言实现复数和相量的四则运算和相互转化

热门文章

  1. Spock测试框架如何Mock静态方法
  2. TextField的使用
  3. 需求分析方法论—Kano模型
  4. java科技论文20000字_科学素养论文范文 科学素养方面有关论文参考文献范文2万字...
  5. ubuntu18.04安装tenda u6无线网卡驱动
  6. 看完这篇Python操作PPT总结,从此使用Python玩转Office全家桶就没有压力了!
  7. 唐笑挨打事件,深层次想想,
  8. 如何辨别油烟净化器进出风口?一文教你快速分辨!
  9. 淘宝 腾讯 百度 新浪 技术团队 博客
  10. 移动端web开发之响应式布局