Python是开源的,这带给我们极大便利。但也带来了开源的固有问题:

许多包都在做 (或试图做) 同样的事情。

如果你是Python新手,很难知道哪一个包是特定任务的最佳选择。你需要有经验的人给你指导。

而我今天要告诉你:有一个玩数据你必须要学会弄懂弄通的包,它就是pandas

Pandas真正强大的地方在于,很多其他包都隐藏在它内核里面。

Pandas它是一个核心包,里面有很多其他包的附加功能。它的好处在于你可以只用pandas语法,但是却拥有好几人的功力,就跟天龙八部的慕容复一样。

pandas就像Python中的Excel:它使用表格(即DataFrame)并对数据进行转换操作。但它能做的事情其实还有很多。

如果你已经熟悉Python,你可以直接进入第3段。

如果你还不熟悉Python,建议你一步步从头开始。

让我们开始吧!

Pandas最基本的函数

  • 读取数据

sep是分隔符的意思。如果你使用的是法语数据,Excel中的csv分隔符是";",所以你需要明确它。

编码设置为 "latin-1 "以读取法语字符。nrows=1000表示读取前1000行。

最常用的函数:read_csv,read_excel。

其他一些不错的函数:read_clipboard(我经常使用的方式,从Excel或从网络复制数据),read_sql。

  • 写入数据

index=None将简单地按原样写入数据。

如果你不写index=None,你会得到额外的第一列1,2,3,...直到最后一行。

我通常不会去使用其他函数,比如.to_excel,.to_json,.to_pickle,因为.to_csv已经可以很好的完成这项工作了,因为csv是最常见的保存表格的方式。除此之外,如果你和我一样是个Excel狂人,想把你的结果从Python粘贴到Excel上,那么.to_clipboard也是必不可少的。

  • 检查数据

给定(#行,#列)

计算基本统计数据

  • 查看数据

输出数据的前3行。与.head()类似,.tail()将查看数据的最后几行。

输出第8行

在 "column_1 "上输出第8行的值

第4至第6行的子集(不包括在内)

Pandas的一些基础函数

  • 逻辑运算

要使用&(AND)、~(NOT)和|(OR),必须在逻辑运算前后加上"("AND")"。

使用.isin()函数,而不是为同一列写多个OR。

  • 基本绘图

这个功能的实现得益于matplotlib包。正如我们在介绍中所说,它可以直接在pandas中使用。

.plot()的输出示例

绘制分布图(柱状图)

.hist()输出示例

如果你使用Jupyter,别忘记在绘图之前写下这一行(在笔记本上只写一次)

  • 更新数据

将第8行'column_1'处的值替换为'english'。

在一行中改变多行的值

好了,现在你可以做一些在Excel中很容易实现的事情了。让我们来挖掘一些在Excel中做不到的神奇事情。

Pandas的一些中级函数

  • 计数出现的次数

    .value_counts()输出示例

  • 对整行、整列或全部数据进行操作

len()函数被应用于'column_1'的每个元素

.map()运算将一个函数应用于列的每个元素。

Pandas的一大特点是链式方法。

它可以帮助你在一条线上完成多个操作(这里是.map()和.plot()),更加简单和高效

.apply()将一个函数应用到列上。使用.apply(, axis=1)对行进行应用。

.applymap()将一个函数应用于表中的所有单元格(DataFrame)。

  • tqdm 的独一无二

当处理大型数据集时,pandas在运行.map()、.apply()、.applymap() 运算时可能会花费一些时间。tqdm是一个非常有用的包,它可以帮助预测这些运算何时会完成执行。

用pandas设置tqdm

将.map()替换为.progress_map(),同样替换为.apply()和.applymap()。

这是Jupyter中使用tqdm和pandas得到的进度条

  • 相关性和散点矩阵

.corr()会给出相关的矩阵

离散矩阵的例子。它绘制了同一图表中两列的所有组合。

  • 处理缺失值

inplace=True将会直接在你的数据集中填充缺失的值。

如果你不写inplace=True,它将暂时填充缺失的值,而不是永久地填充。

Pandas的一些高级运算

  • SQL连接

在3列上连接只需要一行

  • 分组

刚开始的时候没有那么简单,你需要先掌握语法,然后你就能一直运用这个功能了。

按一列分组,选择另一列对其进行函数操作。.reset_index()将你的数据重塑为一个DataFrame(表)

正如前面所解释的,将你的函数链在一行中,从而获得最佳的代码。

  • 迭代行

.iterrows()一起循环浏览2个变量:行的索引和行(上面代码中的i和行)

总而言之,Python之所以是一门伟大的语言,其原因之一便是Pandas。

我们还可以展示很多其他pandas的有趣功能,但以上这些这已经足够理解为什么一个玩数据的不能没有pandas了。

总结一下,pandas是

  • 简单易用,把所有复杂和抽象的计算都隐藏在背后

  • 直观

  • 快速,python里最快的数据分析包(它在C语言中高度优化)。

它是帮助新手入门数据分析,用于快速阅读和理解数据的最佳工具。

懂得原创不易的人都点了赞和在看。感谢有你,我们一起学习!

pandas输出到excel_精通Pandas,从零基础到中级运用,看这一篇就够了相关推荐

  1. 2023零基础入门网络安全,看这一篇就够了

    网络安全不难,网络安全入门更简单!可不要被它神秘的外衣给唬住了. 只要你接下来认真听完我的讲解,虽然保证不了你能成为大神,但就算你学习能力再差那也能达到入门级别. 开篇建议: 1.这是一条坚持的道路, ...

  2. 零基础入门网络安全,看这一篇就够了!

    前景 很多零基础朋友开始将网络安全作为发展的大方向,的确,现如今网络安全已经成为了一个新的就业风口,不仅大学里开设相关学科,连市场上也开始大量招人. 那么网络安全到底前景如何?大致从市场规模.政策扶持 ...

  3. 【网络安全工程师】从零基础到进阶,看这一篇就够了

    学前感言 1.这是一条需要坚持的道路,如果你只有三分钟的热情那么可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会,最好看完教程自己独立完成技术方面的开发. 3.有问题多google,baid ...

  4. python 入门基础-零基础入门Python,看这一篇就够了!

    前言 Python语言,诞生于20世纪90年代初的一个圣诞节,始于创始人吉多·范罗苏姆 "打发无聊",至此已成功运行30年.其名Python(蟒蛇)取自于英国的电视喜剧<蒙提 ...

  5. 零基础学python,看完这篇文章,你的python基础就差不多了!干货【1】

    2019独角兽企业重金招聘Python工程师标准>>> Python基础语法和面向对象(下一篇分享面向对象) Python基础语法 1. 认识Python 1.1 Python 简介 ...

  6. python运算符中用来计算整商的是什么_零基础学python,看完这篇文章,你的python基础就差不多了...

    Python基础语法 1. 认识Python 1.1 Python 简介 Python 的创始人为吉多·范罗苏姆(Guido van Rossum). Python 的设计目标: 一门简单直观的语言并 ...

  7. 【零基础】入门C语言这一篇就够了

    初识C语言 1. 什么是C语言? 2. 第一个C语言程序 2.1 如何写代码 2.2 运行代码 3. 数据类型 3.1 为什么出现这么多类型? 3.2 如何使用数据类型 3.3 数据类型的大小 4. ...

  8. yolov5使用2080ti显卡训练是一种什么样的体验我通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程。>>>>>>>>>第二章番外篇

    第二章番外篇:yolov5通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 前期准备: 2 ...

  9. yolov5-4.0环境搭建,零基础小白都能看得懂的教程。YOLOv5搭建的最快搭建方式,踩坑经历详谈)yolov5/yolov4/yolov3/yolov3通>>>>>>>>>>>>>>>>>第一章

    第一章:python最新YOLOv5-4.0环境搭建,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 环境准备: yolov5-4.0环境搭建整体说明 2,anaconda的 ...

  10. Python-Excel 零基础学习xlwings,看这篇文章就够了

    零基础学习xlwings,看这篇文章就够了 | 一起大数据-技术文章心得 (17bigdata.com) 1.xlwings是什么 2.xlwings安装更新与卸载 3.xlwings详细使用 4.案 ...

最新文章

  1. Nginx 301与302配置
  2. android天女散花效果_Android有趣的爆炸散落动画view:开源ExplosionField
  3. 2015第16周三知道做到
  4. 如何利用《C++ Primer》学习C++?
  5. 你为什么高考会考砸?-论出题侧重点其实是故意的
  6. JS 数据处理技巧及小算法汇总(转载)
  7. ai怎么让图片任意变形_想一键提取图片文字,有什么好的文字识别软件/APP推荐吗?...
  8. centos mysql 设置_CentOS下MySQL安装后配置和设置-阿里云开发者社区
  9. Win11关机后自动开机怎么办 Win11关机后自动开机的解决方法
  10. clickhouse 重启_篇一|ClickHouse快速入门
  11. js 匿名函数_javascript:函数的使用
  12. mysql的网址是什么意思_Mysql数据库地址是什么怎么填写
  13. T5: Text-To-Text Transfer Transformer
  14. python中stacked_栈式自动编码器(Stacked AutoEncoder)
  15. 关于加密与解密、签名与验签
  16. CC2530存储器映射
  17. 电信光猫 友华PT921G 研究
  18. c语言写我爱你中国编程,c程序设计案例汇编课件.ppt
  19. CTF 每日一题 Day39 达芬奇密码
  20. 不定积分问题:1/x^3+1的不定积分求法

热门文章

  1. Varnish 安装部署
  2. 分组 php库,ThinkPHP分组下自定义标签库实例
  3. js数组再倒数第二个添加元素_js 循环对象数组将元素逐个添加至新数组问题
  4. python字典统计排序1_python笔记17-字典如何按value排序
  5. 嵌入式 Linux 4.0,嵌入式多媒体中心 OpenELEC 4.0.4
  6. JDK8之后,新增的时间类对象
  7. java连不上mysql_eclipse连接不上mysql
  8. python类的实例方法必须创建对象后_python 单例模式,一个类只能生成唯一的一个实例,重写__new__方法详解...
  9. zabbix内网安装部署_搭建环境tomcat+nginx+keepalived+zabbix
  10. iframe页面相互调用方法