目录

系列总览

什么是Pandas?

什么是Jupyter?

安装Jupyter和Pandas

设置和导入库

评论


在深入研究数据清理之前,我们将首先了解为什么要使用Jupyter Notebooks和Pandas数据分析库之类的工具,而不是仅仅使用Python。

  • 下载数据库和CSV文件-36 KB
  • 下载源代码127.8 KB

系列总览

本文是帮助工作中的开发人员快速掌握数据科学工具和技术的系列文章的第一篇。我们将从对该系列的简要介绍开始,并解释我们将要介绍的所有内容。

从事数据分析和机器学习(ML)项目的开发人员和数据科学家将大部分时间用于查找、清理和组织数据集。在这个介绍性系列文章中,我们将介绍一些最常见的数据清理方案,包括:

  • 可视化“混乱”数据
  • 重塑数据集
  • 替换缺失值
  • 删除并修复不完整的行
  • 规范化数据类型
  • 合并数据集

我们将通过在Jupyter notebook中使用Python,Pandas和Seaborn来清理样本零售店的凌乱客户数据库,以实现此目的。这个由七个部分组成的系列文章将对第一轮凌乱的数据进行处理,清理,并开发出一组可视化的图像来突出我们的工作。以下是本系列的内容:

  • 第1部分-介绍Jupyter和Pandas
  • 第2部分-将CSV和SQL数据加载到Pandas中
  • 第3部分-纠正Pandas中的缺失数据
  • 第4部分-合并Pandas中的多个数据集
  • 第5部分-清理Pandas DataFrame中的数据
  • 第6部分-重塑Pandas DataFrame中的数据
  • 第7部分-使用Seaborn和Pandas进行数据可视化

在开始清理数据集之前,让我们快速看一下将要使用的两个工具:Pandas和Jupyter Notebooks。

什么是Pandas?

Pandas是一个灵活的、高性能的开源Python库,专门为数据科学家提供数据结构和分析工具而构建。

作为开发人员,您会发现Pandas就像一个无GUI的程序化Excel。将数据导入Pandas时,将获得一个DataFrame对象,该对象将数据表示为一系列的列和行——就像在Excel工作表中看到的那样。

这使得分析和清理数据集变得非常容易。通常可以通过单个函数调用来执行诸如删除不符合特定条件的行,自动删除缺少太多值的列或添加根据现有列计算出的新列之类的操作。

通过使用干净,易于理解的Python清理和转换数据,以这种方式处理数据表通常比通过复杂的内置Excel函数或通过鼠标点击的方式更快、更易于开发。编写自定义VBA代码。

什么是Jupyter?

Jupyter是一个Web应用程序,其作用类似于数据科学项目的容器。它使您可以将数据、代码、可视化、文档以及更多内容放入一个notebook中。

老实说,如果您是一位经验丰富的软件开发人员,并且习惯于Eclipse之类的IDE或Visual Studio Code之类的文本编辑器,那么Jupyter看起来会很奇怪。

Jupyter本质上是Donald Knuth的Literate Programming的现代转世。Literate programmin旨在打破代码与自然语言之间的障碍。在典型的识字编程文件中,编程代码散布在散文中,而散文使用的是类似于英语的自然语言,描述了代码的作用。

对于现代开发人员而言,这种方法可能令人讨厌。毕竟,您的代码难道不应该如此清晰明了,不需要说明吗?

对于清楚地说明发生了什么的普通机械代码,这可能是正确的。但是,当您为数据科学和机器学习项目编写代码时,情况就不同了。在这些情况下,您经常编写的代码将被包括数据科学家、业务分析师甚至经理在内的更广泛的受众所使用。

在这种情况下,仅您的代码是不够的。即使读者理解代码,您也必须添加散文来为代码提供上下文——帮助读者理解编写代码的原因,并理解代码如何转换其导入的数据。

Jupyter Notebooks使识字编程更进一步。不仅容易编写在散文和代码之间交替的文档,而且代码是实时且可执行的。您可以运行代码并从文档内部观察其输出。甚至更好的是,拥有notebook副本的同事可以编辑代码,重新运行代码并观察新的输出——所有这些都无需离开notebook。包含代码、散文和输出的notebook看起来像这样:

但是,不要只听我的话。您可以在此处找到一个实时、交互式、可编辑的在线Jupyter Notebook,以进行试验。

如果还不够,Jupyter可以轻松地在文档中嵌入图表和其他可视化效果。因此,例如,如果您从数据库导入数据,对其进行转换,然后想要轻松共享结果,则可以将数据输入几个不同的可视化库中,它们生成的图表将直接出现在notebook中。

您甚至可以使用LaTeX或MathML嵌入Markdown、视频和数学方程式。

最后但并非最不重要:Jupyter与语言无关。尽管Python是最常见的用例,但是您可以在notebook中嵌入并运行许多编程语言。这些包括Julia,R,甚至Java,C#和F#。如果您是.NET开发人员,Scott Hanselman会为您撰写Jupyter Notebooks的精彩介绍。

安装Jupyter和Pandas

既然您(很希望)对Jupyter和Pandas感到兴奋,我将向您展示最简单的入门方法。

获取Jupyter,Pandas和我们将来的数据分析任务所需的其他库的最佳方法是安装Anaconda。这是用于数据科学的Python发行版,预装了最受欢迎的库。这是使用Python建立和运行数据科学的最简单方法之一。

我知道Anaconda的安装量超过400MB。虽然您绝对可以分别安装Python,Jupyter和Pandas,但我还是请您相信这是安装所有组件的最简单方法,而且痛苦最小。另外,如果您决定在完成本系列文章后继续进行数据科学之旅,您会发现Anaconda已经设置了您需要的大多数工具。

您可以在Anaconda下载页面上找到适用于您的操作系统的Anaconda软件包。请遵循下载和安装说明。安装完成后,您会发现安装程序设置了一个名为Anaconda Navigator的应用程序。在Windows中,它将位于开始菜单中。在MacOS上,它将位于“应用程序”文件夹中。在Linux上,可以通过打开终端并运行以下命令来运行它:anaconda-navigator。

接下来,我们将启动自己的Jupyter Notebook。

使用Anaconda Navigator,打开Jupyter Notebook并创建一个新的notebook。可以将notebook视为其他IDE称为项目的简化版本——正如我们在上面发现的那样,它是代码,散文和多媒体的集合。

首次打开Jupyter notebook时,您会看到由In [ ]组成的一行。这是一个代码单元。每个单元格可以包含notebook内核运行的代码或要显示的信息。

每个notebook都有一个关联的内核,该内核是用于在notebook中编译代码的运行时。默认值为Python,在大多数情况下,它是使用的语言,但是您也可以使用许多其他语言。

您还可以通过将代码下拉列表切换为标记下拉列表,将代码单元更改为文档行。

设置和导入库

重要的是要注意,在一个单元格中设置和操作的项目在前面的单元格中可用。这使您可以分解notebook中的代码并使项目更井井有条。由于这种行为,通常在notebook中使用第一个单元来保存将在整个notebook中使用的所有通用设置和库导入。

由于我们将使用Anaconda产品套件中已包含的某些特定Python库加载和处理数据,因此我们将它们添加到Jupyter notebook中,并在第一个代码单元中添加以下内容,以进行设置。您可以通过单击按钮将代码单元添加到文档中。

添加代码单元后,将以下代码放入其中:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="darkgrid")

如果将鼠标悬停在代码单元旁的方括号上,则会看到一个播放按钮,可让您在该单元格中运行代码。由于我们仅导入了一些库,因此此刻目前执行不了什么,但是请不要担心,我们将有大量代码可以很快运行。

如您所见,我们正在导入四个库:

  • Pandas,数据分析库
  • NumPy,Pandas的依赖项(我们不会直接使用它)
  • Matplotlib,数据可视化库
  • Seaborn,为matplotlib增加了许多视觉上的改进

此外,最后一行为Seaborn设置了默认样式。让我们通过进入文件,另存为并输入文件路径来保存notebook。值得注意的是,Jupyter将从您的配置文件目录建立其文件系统。在Windows上,这是C:\Users\<username>

评论

我们已经了解了Pandas和Jupyter是什么,以及为什么要使用它们。

然后,我们学习了如何使用Anaconda来建立我们自己的数据科学就绪开发环境。

最后,我们快速使用Jupyter Notebooks建立了基于Python的数据分析项目,并导入了一些Python库,包括用于数据结构的Pandas和用于数据可视化的Seaborn。

接下来,我们将外部数据源加载到Pandas提供的数据结构中,并开始分析和操作我们的基本数据集。

介绍Jupyter和Pandas相关推荐

  1. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一、pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主

    利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目 ...

  2. 【1】学习前言及数据分析的简单介绍jupyter的介绍与安装

    学习内容 学习方法 • 重视基础 • 归纳总结,构建自己知识体系 • 推荐使用xmind思维导图 • 三多法则 • 多练习 • 多应用 • 多思考 发展方向 例子: • 数据分析班级到课人数 • 有8 ...

  3. pythonexcel介绍_Python 中pandas.read_excel详细介绍

    Python 中pandas.read_excel详细介绍 #coding:utf-8 import pandas as pd import numpy as np filefullpath = r& ...

  4. 使用Seaborn和Pandas进行数据可视化

    目录 介绍 在Python中比较可视化库 Seaborn可视化类型 创建一个条形图 创建Seaborn折线图 评论 有了我们的数据集之后,我们将快速查看可以使用流行的Python库从数据集轻松创建可视 ...

  5. 在Pandas DataFrame中重塑数据

    目录 介绍 透视Pandas DataFrame 在Pandas DataFrame中对数据进行分组 总结 使用我们的数据集后,我们将快速查看可以使用流行的Python库从数据集轻松创建的可视化,然后 ...

  6. 清理Pandas DataFrame中的数据

    目录 介绍 清理按键 查找不一致的数据 总结 确保整个DataFrame一致是很重要的.这包括确保数据的类型正确,消除不一致之处并标准化值. 下载CSV和数据库文件-127.8 KB 下载源代码122 ...

  7. 结合Pandas中的多个数据集

    目录 介绍 连接DataFrames 合并DataFrames 摘要 大多数数据分析不是在单个系统或数据集上进行的,因此在此步骤中,我们着眼于组合多个数据集以提供更大的数据图. 下载CSV和数据库文件 ...

  8. 纠正Pandas中的缺失数据

    目录 介绍 查找丢失的数据元素 使用drop和dropna删除缺少的Pandas列 丢掉丢失的Pandas行 替换值 摘要 将数据加载到灵活的结构后,我们需要确定如何处理丢失和重复的数据元素. 下载C ...

  9. 将CSV和SQL数据加载到Pandas中

    目录 介绍 从CSV加载数据 从SQLite加载数据 基本数据分析 总结 任何数据分析过程的第一步都是摄取数据集,评估数据集的清洁程度,并决定我们需要采取哪些措施来解决继承的问题. 下载CSV和数据库 ...

最新文章

  1. 当初我要是这么学习Nginx就好了!(多图详解)
  2. haproxy配置文件
  3. 吴恩达 coursera ML 第十五课总结+作业答案
  4. java ArrayList转数组
  5. python实现中文图片文字识别--OCR about chinese text--tesseract
  6. python3 整除_python如何整除
  7. POJ - 2485(最小生成树.prime)
  8. python tkinter输入框_python tkinter-按钮.标签.文本框、输入框
  9. Ubuntu 图形桌面死机重启(机器不重启)
  10. 是否进行“ git导出”(如“ svn导出”)?
  11. 店铺二维码:如何生成大众点评二维码
  12. 网站访问数据统计工具
  13. 云安全技术——PGP加密技术
  14. matlab整流仿真,基于MATLAB的整流电路的建模与仿真
  15. 15.计算几何: 坐标值的精度【eps、sgn()、dcmp()】+ 平面上的点用struct表示 + 向量的定义与加减乘除
  16. 在阿里云主机上部署Mysql数据库详细教程
  17. # 深圳杯D题爬取电视收视率排行榜
  18. 支持GB28281协议的远程抓拍4G低功耗摄像头解决方案
  19. 51单片机学习篇-- --基于51单片机的串口通信协议
  20. 28、Qt 之图形(渐变填充)

热门文章

  1. android studio app显示红叉_发现这个 APP 后,感觉可以放弃桌面时钟了
  2. 安装linux到服务器配置,CentOS 6.3 服务器安装配置
  3. 中国红+金牛|传统农历年新年新春海报稳妥设计方案!
  4. PNG免抠软装素材,每个设计师都应该备一份!
  5. c语言数码管流动显示一个数,51单片机数码管动态显示 - 数码管动态扫描显示01234567程序(三种方案)...
  6. Windows下多线程的使用
  7. C++编译原理 (转载)
  8. Linux负载均衡Linux Virtual Server (lvs) 内核自带的负载均衡器
  9. 【转】5G EN-DC/NE-DC/NGEN-DC构架
  10. C语言实现简单的单例模式