在本教程中,我将对熊猫进行基本介绍。 哦,我不是说动物熊猫,而是一个Python库!
正如熊猫网站上所述:
pandas是BSD许可的开源库,为Python编程语言提供了高性能,易于使用的数据结构和数据分析工具。
因此, pandas
是一个数据分析库,其中包含我们需要的数据结构,以将原始数据清除为适合分析的形式(即表格)。 在此需要特别注意的是,由于pandas
执行了重要的任务,例如对齐数据以进行比较和合并数据集,处理丢失的数据等,因此它已成为Python中高级数据处理的事实库(即统计信息) )。 好吧, pandas
最初是设计用来处理财务数据的,前提是常用的替代方法是使用电子表格(例如Microsoft Excel)。
pandas
的基本数据结构称为DataFrame
,它是具有名称和类型的列的有序集合,因此看起来像一个数据库表,其中单行代表一个案例(示例),而列代表特定的属性。 在此应注意,各个列中的元素可以是不同的类型。
因此,最重要的是pandas
库为我们提供了数据分析所需的数据结构和功能。
安装熊猫
现在让我们看看如何在机器上安装pandas
并将其用于数据分析。 安装pandas
并避免任何依赖关系问题的最简单方法是使用pandas
随附的Anaconda 。 如Anaconda下载页面所述 :
Anaconda是一个完全免费的Python发行版(包括用于商业用途和重新发行)。 它包含超过400种最流行的Python软件包,用于科学,数学,工程和数据分析
Anaconda发行版是跨平台的,这意味着它可以安装在OS X , Windows和Linux机器上。 由于要在Mac OS X El Capitan机器上工作,因此我将使用OS X安装程序,但是您当然可以为您的操作系统选择合适的安装程序。 我将使用图形安装程序(请注意,它是339 MB)。
下载安装程序后,只需简单地完成简单的安装向导步骤即可,一切就绪!
现在,要使用pandas
我们需要做的就是导入软件包,如下所示:
import pandas as pd
熊猫数据结构
我已经提到了以上三个pandas
数据结构之一,即DataFrame
。 除了其他pandas
数据结构Series
之外,我还将在本节中描述此数据结构。 还有另一个名为Panel
数据结构,但是由于本文档中提到的使用频率不高,因此在本教程中将不对其进行描述。 DataFrame
是2D数据结构, Series
是1D数据结构, Panel
是3D和更高版本的数据结构。
数据框
DataFrame
是一种表格数据结构,由有序的列和行组成。 为了使事情更清楚,让我们看一个从list 字典创建DataFrame
(表)的示例。 以下示例显示了一个字典,该字典由两个键Name和Age以及它们对应的值列表组成。
import pandas as pd
import numpy as np
name_age = {'Name' : ['Ali', 'Bill', 'David', 'Hany', 'Ibtisam'],
'Age' : [32, 55, 20, 43, 30]}
data_frame = pd.DataFrame(name_age)
print data_frame
如果运行上面的脚本,则应该获得类似于以下内容的输出:
请注意, DataFrame
构造函数按字母顺序对列进行排序。 如果要更改列的顺序,可以在上面的data_frame
下键入以下内容:
data_frame_2 = pd.DataFrame(name_age, columns = ['Name', 'Age'])
要查看结果,只需键入: print data_frame_2
。
假设您不想使用默认标签0、1、2,...,而是要使用a,b,c,...。 在这种情况下,您可以在上面的脚本中使用index
,如下所示:
data_frame_2 = pd.DataFrame(name_age, columns = ['Name', 'Age'], index = ['a', 'b', 'c', 'd', 'e'])
很好,不是吗? 使用DataFrame
,我们可以看到表格形式的数据。
系列
Series
是我要讨论的第二个pandas
数据结构。 Series
是类似于表中列的一维(1D)对象。 如果要为名称列表创建Series
,则可以执行以下操作:
series = pd.Series(['Ali', 'Bill', 'David', 'Hany', 'Ibtisam'],
index = [1, 2, 3, 4, 5])
print series
该脚本的输出如下:
注意,我们使用index
来标记数据。 否则,默认标签将从0,1,2开始...
熊猫功能
在本节中,我将向您展示一些我们可以与DataFrame
和Series
一起使用的函数的示例。
首尾
函数head()
和tail()
使我们能够查看数据样本,尤其是当我们有大量条目时。 默认显示的元素数为5,但是您可以返回所需的自定义数字。
假设我们有一个由20,000个随机项目(数字)组成的Series
:
import pandas as pd
import numpy as np
series = pd.Series(np.random.randn(20000))
使用head()
和tail()
方法分别观察前五个项和最后五个项,我们可以执行以下操作:
print series.head()
print series.tail()
该脚本的输出应类似于以下内容(注意,由于我们正在生成随机值,因此您可能具有不同的值):
加
让我们以add()
函数为例,我们将尝试如下添加两个数据帧 :
import pandas as pd
dictionary_1 = {'A' : [5, 8, 10, 3, 9],
'B' : [6, 1, 4, 8, 7]}
dictionary_2 = {'A' : [4, 3, 7, 6, 1],
'B' : [9, 10, 10, 1, 2]}
data_frame_1 = pd.DataFrame(dictionary_1)
data_frame_2 = pd.DataFrame(dictionary_2)
data_frame_3 = data_frame_1.add(data_frame_2)
print data_frame_1
print data_frame_2
print data_frame_3
上面脚本的输出是:
您也可以只使用+
运算符执行此加法过程: data_frame_3 = data_frame_1 + data_frame_2
。
描述
一个非常好的pandas
函数是describe()
,它为我们的数据生成各种汇总统计信息。 对于上一节中的示例,让我们执行以下操作:
print data_frame_3.describe()
该操作的输出将是:
更多资源
这只是Python pandas
表面的一小部分。 有关更多详细信息,您可以查看pandas
文档 ,也可以查看一些书籍,例如Learning Pandas和Mastering Pandas 。
结论
科学家有时需要进行一些统计运算,并显示一些整齐的图,要求他们使用编程语言。 但是,与此同时,他们并不想在执行此类任务时花费过多的时间或面临严重的学习困难。
正如我们在本教程中所看到的, pandas
使我们能够以表格形式表示数据并以非常简单的方式对这些表执行一些操作。 通过将pandas
与其他Python库相结合,科学家甚至可以执行更高级的任务,例如为数据绘制专门的图形。
因此, pandas
对于科学家,经济学家,统计学家以及愿意执行某些数据分析任务的任何人来说都是一个非常有用的库和起点。
翻译自: https://code.tutsplus.com/tutorials/introducing-pandas--cms-26514