熊猫DataFrame

回到术语表

熊猫的标志

数据科学时,毫不夸张地说,你可以改变你的生意的方式是通过使用其潜能和熊猫DataFrame。要做到这一点,你需要正确的数据结构。这些将帮助您尽可能高效的当你操作和分析数据。

最有用的一个数据结构可以使用为这个目的是熊猫DataFrame。

熊猫是一个开源库编写的Python编程语言提供了快速、适应性强的数据结构和数据分析工具。韦斯·麦金尼最初写这个易于使用的数据操作工具。这是建立在NumPy包,其关键数据结构称为DataFrame。

如果你想,“坚持下去。慢下来。熊猫DataFrame是什么?”,那么别担心,我们会进入深度不久。现在,所有你需要知道的是,熊猫DataFrame是一个用户友好的工具,适合使用在很大程度上依赖数据的领域。包括科学计算、机器学习,如前所述,科学数据。

我们将打破熊猫下面的细节。我们将要涉及的话题包括如何让熊猫DataFrame以及如何开始使用熊猫DataFrame,以及使用熊猫DataFrame的优点。

大熊猫提供了两种类型的数据结构:

  • 熊猫DataFrame(二维)
  • 熊猫系列(维)
熊猫类型的数据结构

大熊猫使用CSV或TSV文件或数据,如SQL(结构化查询语言)数据库,并把它们转换成Python对象的行和列称为DataFrame。这些对象非常类似于表中可用统计软件(如Excel和SPSS)。Excel的工作方式类似,熊猫DataFrames允许你存储和操作表格变量的观测数据行和列,以及从给定的数据集提取有价值的信息。

你可以执行熊猫API在Apache 3.2火花。这让你熊猫被均匀地分布工作负载,确保一切都完成它应该的方式。

现在我们已经介绍了大熊猫提供了两种类型的数据结构,是时候后退一步看看熊猫DataFrame实际上是什么。我们会给你一个快速定义,其次是一个方便的类型的输入列表DataFrame可以接受。

什么是熊猫DataFrame ?

熊猫DataFrame是一种表示和处理表格数据。它可以被视为一个表组织数据的行和列,使它一个二维的数据结构。DataFrame可以从头开始创建的,或者您也可以使用其他数据结构,比如NumPy数组。

当你使用熊猫DataFrame,您可以以各种格式导入数据和从各种来源。举例来说,您可以导入NumPy阵列,与熊猫能够导入内容。

这是主要的输入接受DataFrame类型:
  • Dict的1 d ndarrays、列表、字典或系列
  • 二维numpy.ndarray
  • 结构化或记录ndarray
  • 一个系列
  • 另一个DataFrame

常见问题与熊猫DataFrames如何工作

知道哪个结构熊猫究竟提供了一个熊猫DataFrame并不一定等同于知道熊猫DataFrames的一切。这就是为什么我们将这部分回答一些最常见的问题如何处理熊猫DataFrames。

如果你的问题没有在6我们将回答下面,请继续阅读。我们将覆盖其他几个话题,以及回答一些关键问题在本文的结束。

1。如何删除指标,从大熊猫DataFrame行或列

并不是所有DataFrame列(或行或指数)总是同样必要。事实上,有时,你会发现你需要删除一个DataFrame对象,这就是为什么我们将向您展示如何这样做。

我们将通过如何删除每一个反过来,从指数。对于这些和所有在本文例子之后,我们将缩写“DataFrame”“df”在我们的代码中,因为它是一种常见的做法。

虽然DataFrames总是有某种指数,很难完全删除索引,您可以修改索引标签或删除它的名字。删除作品通过执行del df.index.name命令的名称。

你也可以选择重置DataFrame指数。这可以帮助当你有重复的索引值。所有你需要做的就是重新索引,减少任何副本,然后恢复新的duplicate-free列索引。

删除列有点简单。通过使用下降()方法,您可以取出列。这需要您输入的列标签你想摆脱,所以确保你有正确的列名下降()命令之前。如果你原地设置为True,您将能够不重新分配DataFrame删除列。

最后,我们将向您展示如何删除DataFrame行。

执行df。drop_duplicates()将根据您提供的标准删除重复的行对行标签。你也可以选择相同的.drop()方法也适用于列,除了你会提供一个行指数下降。一定要你这样做后重置指数。

具体删除行用缺失值,您可以使用DataFrame。dropna(轴= 0,= '任何'打=,=子集,原地= False)。这将自动取出任何具有零值的行。您还可以调整函数的参数来确定缺少的值会删除的数据在一个特定的选择。

如果你想将null值替换为具体的值,您可以使用.fillna()命令,而不是删除他们.dropna ()。

2。如何重命名的索引或列熊猫DataFrame吗

重命名索引和列是更容易和更简单的删除它们。重命名这些对象,所有你要做的就是使用.rename()方法并填写该指数(或列)你想给一个新值。

如果你改变了原地参数错误的重命名任务,DataFrame不会重新分配时改变列的名称。

3所示。你的熊猫DataFrame如何格式化数据吗

大多数时候,DataFrame用户需要编辑,DataFrames变化和格式的值。我们要看一些最重要的策略来知道如果这是你想要做什么。

当你想要更换一个字符串的每个实例,您可以使用.replace()命令,填写空白的格式(值你改变,你改变它)。

然后程序自动替代字符串的每个实例或价值你想改变的项目你改变它。

另一种类型的格式你可能需要的是能够带走的部分你不需要的字符串。map()命令将你选择的lambda函数适用于每个元素在这一列,如果你使用它在“结果”列。

你也可以列文本分割成多个行,尽管这是一个有点复杂,所以请容忍我们带您通过一个简短的教程。

首先,你必须确定行太长,这样你知道哪些你想分裂。一旦你有下来,你就会想要列,它们在空间和字符串。下一步是把值将在行和把它们分割成一系列对象。

如果你有NaN值系列,别担心,你朝着正确的方向前进。简单的栈系列,你会保证系列的最后副本不会有任何多余的NaN值。

系列堆叠成所需的格式,你会放弃这行了DataFrame水平。之后,它只是改变你的DataFrame系列,把它回到它来自DataFrame然后删除从你的原始DataFrame错误的列。最后一步(删除列)阻止你生成副本。

去年的格式你可以适用于数据DataFrame需要应用一个函数的形式DataFrame的行或列。

先选择行你想工作使用.loc[]或.iloc []。但由于我们在DataFrame,更具体地说使用df。loc df.iloc。然后,一旦你有正确的行挑出,您可以使用申请(),碰巧,倍压器等应用功能一行或一列。

4所示。如何创建一个空DataFrame

创建一个空DataFrame归结为使用熊猫DataFrame()函数。

如果你希望初始化DataFrame nan,您可以简单地选择使用numpy。南,一种浮动。这意味着数据值新DataFrame也将默认类型的浮动。通过输入dtype属性,然后填写你要找的类型,你可以绕过这个默认设置。

DataFrame()函数依赖你你想传递的数据放入DataFrame,如,你的索引和列。这些数据可以有尽可能多的不同类型的需要。此外,正如我们所建立的,你总是可以强迫其数据类型是什么您想要使用dtype属性。

你可以选择指定轴标签或索引你的空DataFrame将使用。如果你不这样做,熊猫DataFrame将自动为您构建他们使用常识规则。

5。熊猫识别导入数据的日期吗?

原则上,是的。在实践中,这是一个更加复杂。

熊猫可以选择日期正在进入这一事实,但效果最好,当你给它一个小推到正确的方向。更具体地说,你想要加入parse_dates参数当你导入数据从CSV文件或类似的东西。对于一个CSV文件,会看起来像这样:

pd。read_csv (yourFile, parse_dates = True)

这种方法最适合使用数字格式的日期。然而,并不是所有的日期都需要这种类型的格式。

不寻常的日期格式,或者那些DataFrame承认有一些麻烦,你想要创建自己的解析器。这些可能需要lambda函数的形式,使用格式字符串控制输入识别的日期和时间。

无论你选择推去给熊猫,它将识别后的日期和时间完成。以最小的输入结束,这意味着你可以指示DataFrame接在任何基于日期的信息,你喂它。

6。的时候,为什么以及如何重塑你的熊猫DataFrame

数据分析最重要的用途之一是熊猫DataFrame。这就是为什么重要的是要能够塑造和重塑你的DataFrame,所以你塑造成的结构是适合您的数据分析需求。

所以,这个问题的答案“我应该重塑DataFrame什么时候?”:当当前格式不是有用的数据分析计划进行,当你不希望创建新行或列。你应该重塑它的原因是你正在寻找的形状最适合您的数据分析。

就剩下一个问题:“如何?”

你可以选择主或堆栈。您还可以使用“unstacking和融化”的方法。我们会详细分解每个三种方法是如何工作的,以及如何使用它们来重塑你的DataFrame。

重塑你的DataFrame和主方法

让我们先看主的选择。这将创建一个新表从你,让你塑造新副本看起来只是你所希望的方式。使用这个函数依赖于通过三个参数。

首先,有价值。这个论点是你选择的点的值将被纳入的原始DataFrame新一,所以你可以选择包括什么,你宁愿离开。

接下来,您将通过列。任何你将会成为你最后的表列。

最后,你必须选择指标您想要使用你的新表。

重要的是具体什么你想合并生成的表的数据。例如,你不能行包含重复的值包含在您指定的列,因为会出现一条错误消息。另一个例子是,你会由多个列主如果你不挑出哪些你想要包含在最终的表值。

接下来我们将继续考虑叠加。

重塑你的DataFrame叠加方法

叠加DataFrames让他们高。你可能会认识到这一事实。我们谈到了叠加的预排在第三个问题如何DataFrame中的数据格式。

技术的解释是,你移动的列索引,改变它到最里面的行索引。这个DataFrame让你有一个新的索引的一个新的水平行标签,将位于内层的水平。

现在是时候考虑如何unstack。你可能会想象,堆积的逆过程;地方堆积最内层的列索引,unstacking最里面的行索引。unstack时,你移动的行索引,因此它可以作为最内层的列索引。Unstacking与融化一起使用,因此接下来我们将看看。

重塑你的DataFrame熔融法

融化是理想的时候你DataFrame变量使用一个或多个列作为标识符,与其他列被测变量。融化在这些情况下,基本上让你让你DataFrame更长,更广泛。

你基本上un-pivot测量变量行轴,这样融化可以确保测量变量放置在DataFrame而不是它的高度宽度。最终产品将包含两个列:一个用于变量和值。

如何使用熊猫DataFrames吗

您可以使用DataFrames几乎以相同的方式你会使用Excel电子表格,和熊猫DataFrame也不例外。

本质上,您可以使用熊猫DataFrame作为一个数据结构。它也可以被用来处理和分析数据,就像电子表格。

你有数据时需要读取或操作,熊猫是一个有用的工具来帮助你完成这一目标。我们已经描述了如何将数据输入大熊猫DataFrame,因为熊猫是兼容很多不同类型的数据,您可以导入大量的类型的数据。这样可以确保你可以与你的信息不管什么格式。

然后,您可以使用上述格式的过程我们将数据转换成你需要的格式。你已经有了可以转换数据,塑造成更有用的格式,更适合您的需要。

因为熊猫是专门用于Python,您可以使用两个一起几乎所有的时间。这意味着您可以轻松地执行任务扩展世鹏科技电子计算PySpark和熊猫

我们会得到更具体的关于如何在熊猫DataFrames执行特定的任务和功能。我们将讨论诸如创建熊猫DataFrames、索引和迭代在进入细节之前关于使用熊猫的优点的。

如何创建一个熊猫DataFrame吗

因为熊猫DataFrames是通用的工具,可用于多种不同的方式,也可以使用一些不同的创建策略。

我们已经介绍了如何建立一个空的熊猫DataFrame应对问题4。这是其中一个方法,你可以使用它来创建一个新的熊猫DataFrame。这个方法最适合当你不已经有另一个数据结构本质上是“迁移”到大熊猫,换句话说,当你想要开始一个完全空白。

我们将看到如何创建一个熊猫DataFrame从NumPy ndarray。

短的是,你可以很容易的让DataFrames NumPy数组。所有你需要做的就是将你选择的数组传递给DataFrame熊猫数据参数()函数,然后用你塑造你的新DataFrame NumPy数据。的观点是这样的:

打印(pd。dataframe [])

和你输入的数据在尖括号。

值、索引和列名称应该已经包含在你的NumPy数组,熊猫可以使用特定的信息来创建合适的DataFrame你。

使用熊猫DataFrames的一个好处是,DataFrame()函数可以有很多不同的结构作为输入。当你创建结构使用non-NumPy结构,这一过程几乎以相同的方式工作。也就是说,你仍然是你的数组传递到DataFrame()函数,然后指示大熊猫使用这些信息来创建新的DataFrame。

您甚至可以使用一个创建新的DataFrame DataFrame作为输入。要做到这一点,你会使用my_df = pd。DataFrame(),将输入数据插入到公式。

将包含在原始字典的键的指数系列,你DataFrame。导入完成后,你的钥匙将被自动排序。

您可以使用形状属性,加上.index属性,了解你创建的DataFrame的维度。这将向您展示它的宽度和高度。如果你想完全了解它的高度,你会希望使用LEN()函数(再次,连同.index属性),它将向您展示DataFrame的高度。

两种方法显示你的尺寸DataFrame包括所有NaN值。另一方面,使用df [0]。count()将向您展示DataFrame的身高没有任何NaN值。

在熊猫DataFrames索引

你能想到的索引数据以同样的方式你会认为索引物理产品的一个集合。换句话说,索引在熊猫涉及分类数据和组织通过挑选特定的值,你想使用的行和列。

熊猫的索引DataFrame让你做的是类似于那种可以执行在Excel中。最大的区别是熊猫索引更详细的和通用的,让你获得更广泛的选项在你所希望的方式来处理您的数据。

熊猫,你可以通过选择特定的行和/或列索引的数据DataFrame中你想使用。准确的选择可以采取许多形式。有时,你会想用几行但所有列;其他时候,它是反过来的。您可能还需要一些特定的行和列。

既然你选择特定子集的数据,索引有时也称为子集的选择。

让我们来谈谈如何在熊猫DataFrame索引工作。

你可以使用四个单独的指数在熊猫的方法,所以我们要给出一个快速概述的这些。首先,df[],这是一个索引操作符函数。您还可以使用df。loc[]当你处理标签。df。iloc[]主要用于数据的集中在立场和/或基于整数数据。最后,df。第九[],标签,和基于整数数据的函数。

我们刚刚提到的四个索引风格称为索引器,他们一些最常见的索引数据的方法。

遍历一个熊猫DataFrame

准备好这是一个好主意的时候,你需要反复执行同一组语句在熊猫DataFrame,或者,换句话说,当你想要遍历行。

这是另一个函数,在熊猫很容易执行。你想要使用一个for循环和一个iterrows()命令设置迭代。这允许你把你的DataFrame行成一个循环的形式(指数系列)对。

这样,你可以得到(指数(行)中元组的结果。

当你迭代的熊猫,你指示DataFrame迭代作为一个字典。也就是说,你遍历对象的键,把项目一个接一个的行和列。

使用熊猫DataFrames的优点

  • 可以很容易地加载数据从不同的数据库和数据格式:
    • 可以使用许多不同的数据类型
  • 直观的合并和加入数据集,使用一个共同的关键为了得到一个完整的视图吗
  • 在DataFrame段记录
  • 允许智能基于标签的切片,创造性的索引和大型数据集的构造子集
  • 聚合和总结很快为了得到有说服力的数据从你在熊猫DataFrames数据通过访问内置函数
  • 定义自己的Python函数具有一定的计算任务和应用它们DataFrame记录
  • 有语法,和更少的写作可以帮助你完成更多的工作吗
    • 允许您在两行或更少,完成同样的事情,可能需要在c++或Java 15行
    • 简化工作流程,每天做更多的事情,增加你实际上能够处理的数据量和分析
  • 访问各种各样的功能,所有这些都与Python完全兼容,因为熊猫是设计用于与Python
    • 更容易由于Python-pandas组合,鉴于许多精通Python是业内专业人士
  • 轻松地处理大量数据和效率,而且,由于语法我们已经提到的,速度
  • 定制数据方法由于灵活的数据处理,可以让你轻松编辑数据,以及使用任何必要的功能
  • 更容易因为他们是开源,确保任何人谁需要他们可以使用他们
  • 兼容很多不同类型的编程语言中,甚至超出了他们设计的。例如,它使用Java和HTML
  • 可以很容易地转换成其他格式,比如_json吗

前5名熊猫DataFrame可视化工具

虽然大熊猫DataFrame提供了用户的机会使用很多不同的特性和功能,灵活操作任何数据进入熊猫库,它不是设计成一个高度可视化工具。基本上,它会给你更多的后台视图。

这是非常有用的原因很多。例如,有时候,你需要你输入数据的可视化表示。

考虑,例如,熊猫比较类似的工具像Excel。在Excel中,你可以点击几个按钮,自动把纯粹的数值数据变成视觉上吸引人的图表,图表或其他表示。熊猫不会有这样的功能。

出于这个原因,你还想看熊猫DataFrame本身以外的数据可视化工具。

我们编译下面的五个最佳DataFrame可视化工具。前两个是JavaScript工具,而其他三个数据分析没有与Java相关的应用程序。我们将分解每个工具的细节,显示你为什么它是有用的和我们应得的排名已经给了它。

的说,让我们先看一下两大工具和JavaScript工具把这些斑点的原因。

JavaScript工具

最初被称为LiveScript, JavaScript是今天最流行的编程语言之一,由于其灵活、动态特性。它使用的语法类似于C,另一个广泛使用的编程语言。

当您使用JavaScript,您可以创建交互式网页。您还可以调整现有的web页面。喜欢熊猫DataFrame, JavaScript能够操纵数据,因此您可以使用它来执行计算或验证基于数据的结论。也非常适合任何想将动态文本插入到HTML或CSS文件。

在这个例子中,我们看到的JavaScript工具可用于大熊猫DataFrame可视化。

JavaScript工具之所以能够上榜前两位最佳可视化工具是JavaScript语言,总是不断变化的。广泛使用不仅因为它广泛有用,但也因为它是不断发展和开发更多的人使用它。所以工具使用这种语言可以创建更灵活的和最新的用户的需求。

现在,让我们看看Qgrid, JavaScript熊猫DataFrame可视化工具,其次是数据透视表。js,第二这个目的的工具。

1。Qgrid

由Quantopian, Qgrid给你DataFrame额外的互动使用SlickGrid组件,让你在熊猫DataFrame排序和过滤数据显示版本。Qgrid Jupyter笔记本小部件。

使用Qgrid,得到过滤您的数据的类型。这意味着你获得一个易于使用的和Qgrid过滤系统。

时特别有用Qgrid特征数据可视化是能够让你配置渲染功能。在你完成配置,您可以阅读你选择DataFrame中的数据。这使得Qgrid特别适合数据操作或对那些需要仔细检查他们的数据。

让我们来看一个快速概述Qgrid是如何工作的。

使用它,您分配一个特定的空间使用其母QGridLayout布局或parentWidget ()。该工具将这个空间分为行和列,将分配给它的每个小部件放到适当的细胞。

2。PivotTable.js

在我们第二位与熊猫工具使用,数据透视表。js是一个JavaScript模块,它使用一个数据透视表库。它让你总结和主数据,帮助您与您的数据更容易和可亲。

数据透视表的主要好处。js是它很容易使用。所有你需要做的就是点击并拖动,然后就可以充分利用其特性。

这些功能包括简单的可视化,与熊猫DataFrame数据的统计分析。这是一个很好的工具旋转和总结数据,这样您就可以得到一个概述的熊猫DataFrame中的数据更容易理解。同样,当你建立了一个表,您可以过滤的数据包含在它,给你额外的效用相同的部件。

PivotTable.jsis also useful for dragging and dropping pivot charts and tables into pandas DataFrame. You can use this method to transfer tables from Jupyter and IPython Notebook, giving you more flexibility regarding the data that you input into your pandas library.

数据分析应用程序

我们建立,熊猫DataFrams非常有用对于任何想分析他们的数据。

处理数据可以很复杂。当数据生成,它不会自动组织,除非你把它插到合适的工具或应用正确的公式。这是什么使数据分析应用程序的一部分所以有价值;分析数据,甚至组织良好的数据,只是快很多,当你可以计划一个函数来为你做这些。

在本节中,我们要考虑三个最适合的数据分析应用程序帮助您可视化信息储存在你的熊猫DataFrame。

3所示。pandasGUI

pandasGUI是一个基于python库来帮助创建数据操作和汇总统计。他们应用于DataFrame库中的数据使用一个GUI(图形用户界面),其中包括执行任何操作的接口。pandasGUI旨在让您输入命令在UI(用户界面),然后程序执行在大熊猫本身。

快速注意对于任何想安装pandasGUI最好建立一个新的、独立的虚拟环境为这个特定的目的。你可以安装pandasGUI库在这个环境中。这样,你就会拥有一个干净的安装,并能够更快地使用这个工具。

一旦安装和设置完成后,你可以马上开始。你DataFrame传递给函数,pandasGUI将自动填充行和列,它吸引了来自你的数据集。你甚至可以一次加载多个数据集使用这种方法,让你得到一个简单的概述的大量信息。

您的数据将访问您的GUI一旦被成功传递给函数。从这里,您可以与、编辑、分析和操作这些数据在很多不同的方面。这或多或少的作品像Excel电子表格的可用功能外观和布局。

GUI中的数据格式可以被复制和粘贴到其他格式。这使它特别容易转移数据的可视化工具的选择如果你要找的类型的可视化图表或图形。

从本质上讲,pandasGUI尤其易于使用。它也非常友好,甚至是缺乏经验的程序员。这就是为什么获得这个地方作为第三熊猫DataFrame有用的数据可视化工具。

4所示。Tabloo

Tabloo自称是一个“简约仪表板表格数据的可视化应用程序一样。“你可以从Python运行它,这意味着它的完全兼容的熊猫。

这个数据可视化工具使用一个瓶后端,虽然它也与其他类型的后端语言兼容。后端被用来给你一个简单的接口,可以将视觉数据的数据库投入你的熊猫。

Tabloo还允许您图数据。这意味着你不需要求助于外部软件开始看到那些你需要图形和图表,方便如果你正在寻找一个快速可视化和不想去寻找更多的工具给你。

使用的方式,与pandasGUI Tabloo有很多共同之处。还组织数据进入细胞,然后可以操作使用相同的函数,pandasGUI也能够运行。但是,它是一个更困难的申请超过一个Tabloo过滤一次,这是pandasGUI非常能够处理。

语法Tabloo操作是查询语法,就像pandasGUI。

pandasGUI和Tabloo之间一个重要的区别是,前者是功能丰富。你简单地得到更多的选项来处理您的数据使用pandasGUI时,这就是为什么Tabloo排名较低的名单上,尽管不可否认为用户提供有用的特性。

5。维加拉

特色的建筑与Tabloo, d影片占用在这个名单的最后。d影片使用瓶后端,前端Tabloo一样,在反应,可以帮助你充分利用广泛的一系列选项d影片让你使用。

用户界面可以看到当你使用d影片,作为应用程序的名字一样,很详细。你可以访问这个熊猫数据导入到d影片之中。它会自动对你是组织为行和列,其中有大量的排序功能可以用来得到你想要的数据集看起来完全一样。您可以使用锁、隐藏、删除和重命名功能,其中,对于任何你选择行或列,例如。

d影片也让你起草的视觉表征数据,从图表,柱状图。

一个有用的d影片的功能就是你可以在任何时候出口从应用程序代码。这段代码可以很容易地粘贴到另一个应用程序来检查其有效性或以其他方式处理数据。

d影片还允许您处理您的数据的格式。例如,假设你有日期包含在您的数据集。如果你想让你的日期相互独立的几个月和天使用反斜杠而不是一段时间,你可以调整d影片。

熊猫DataFrames简而言之

当你想过程、操作和分析数据,熊猫DataFrame是你的朋友。

这个图书馆的设计结合使用Python,使其可以访问几乎任何即使是通过熟悉Python。处理数据的能力在许多不同的格式,也确保您可以输入数据容易无论什么形式,数据需要。

我们讨论了使用熊猫的最大优势在这篇文章中,但我们会给你一个快速的总结。熊猫DataFrame允许您快速轻松地聚合数据。这也是兼容多个可视化工具,提供最大的灵活性。不像其他的脚本语言,它能做很多事情只有几行代码命令,使其更快地使用定期。

总之,熊猫DataFrame是有用的,这是适用于任何想处理数据。

额外的资源


回到术语表