Python许多吸引人的特点如效率、代码可读性和速度使它成为数据科学爱好者的首选编程语言。对于希望提升应用程序功能的数据科学家和机器学习专家来说,Python通常是首选。(例如,Andrey Bulezyuk使用Python编程语言创建了一个令人惊叹的机器学习应用程序。)


由于Python的广泛使用,它有大量的库,使数据科学家可以更容易地完成复杂的任务,而不需要应付太多麻烦的编码。以下是用于数据科学的3个顶级Python库; 如果你想在这个领域开始你的职业生涯,看看他们吧。

1. NumPy

NumPy是顶级库之一,它提供了有用的资源,帮助数据科学家将Python转变为强大的科学分析和建模工具。这个流行的开源库可以在BSD许可下获得。它是执行基本科学计算任务的Python库。此外NumPy是一个更大的基于python的开放源码工具生态系统(称为SciPy)的一部分。

该库为Python提供了大量的数据结构,以便轻松地执行与多维数组和矩阵相关的计算。除了用于解线性代数方程和进行其他数学计算之外,NumPy还被用作不同类型的数据的通用多维容器。

此外,它完美地集成了其他编程语言,如C/C++和Fortran。NumPy库的多功能性使它能够轻松、快速地与其它数据库和工具结合在一起。例如,让我们看看NumPy(缩写为np)如何用于两个矩阵的乘法计算。

让我们从导入库开始。

import numpyasnp

接下来,让我们使用eye()函数生成具有指定维数的单位矩阵。

matrix_one = np.eye(3)

matrix_one

以下是输出:

array([[1., 0., 0.],

[0., 1., 0.],

[0., 0., 1.]])

我们来生成另一个3x3矩阵。

我们将使用arange([starting number],[stopping number])函数来生成数据。注意,函数中的第一个参数是要列出的初始数字,最后一个数字不包括在生成的结果中。

此外,还应用reshape()函数将原始生成的矩阵的维度修改为所需的维度。要使矩阵“可乘”,它们的维数应该相同。

matrix_two = np.arange(1,10).reshape(3,3)

matrix_two

以下是输出:

array([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

让我们使用dot()函数来将两个矩阵相乘。

matrix_multiply = np.dot(matrix_one, matrix_two)

matrix_multiply

以下是输出:

array([[1., 2., 3.],

[4., 5., 6.],

[7., 8., 9.]])

太棒了!

我们设法在不使用普通Python的情况下将两个矩阵相乘。

下面是这个例子的全部代码:

import numpyasnp

#generating a 3 by3 identity matrix

matrix_one = np.eye(3)

matrix_one

#generating another 3 by3 matrixformultiplication

matrix_two = np.arange(1,10).reshape(3,3)

matrix_two

#multiplying the two arrays

matrix_multiply = np.dot(matrix_one, matrix_two)

matrix_multiply

2. Pandas

Pandas是另一个可以增强您的数据科学Python技能的优秀库。就像NumPy一样,它属于SciPy开源软件家族,可以在BSD自由软件许可下使用。

Pandas提供了多种功能强大的工具,用于分析数据结构和执行通用的数据分析。该库可以很好地处理不完整的、非结构化的和无序的真实数据,并提供了用于形成、聚合、分析和可视化数据集的工具。

在这个库中有三种类型的数据结构:

Series: 单维齐次数组

DataFrame: 具有不同类型列的二维数据

Panel: 三维,大小可变的数组

例如,让我们看看如何使用Panda Python库(缩写为pd)执行一些统计计算。

让我们从导入库开始。

import pandasaspd

让我们创建一个Series的字典。

d = {'Name':pd.Series(['Alfrick','Michael','Wendy','Paul','Dusan','George','Andreas',

'Irene','Sagar','Simon','James','Rose']),

'Years of Experience':pd.Series([5,9,1,4,3,4,7,9,6,8,3,1]),

'Programming Language':pd.Series(['Python','JavaScript','PHP','C++','Java','Scala','React','Ruby','Angular','PHP','Python','JavaScript'])

}

让我们创建一个DataFrame。

df = pd.DataFrame(d)

这是一个很好的输出表:

NameProgramming Language  YearsofExperience

0   Alfrick               Python                    5

1   Michael           JavaScript                    9

2     Wendy                  PHP                    1

3      Paul                  C++                    4

4     Dusan                 Java                    3

5    George                Scala                    4

6   Andreas                React                    7

7     Irene                 Ruby                    9

8     Sagar              Angular                    6

9     Simon                  PHP                    8

10    James               Python                    3

11     Rose           JavaScript                    1

下面是这个例子的全部代码:

import pandasaspd

#creating a dictionary ofseries

d = {'Name':pd.Series(['Alfrick','Michael','Wendy','Paul','Dusan','George','Andreas',

'Irene','Sagar','Simon','James','Rose']),

'Years of Experience':pd.Series([5,9,1,4,3,4,7,9,6,8,3,1]),

'Programming Language':pd.Series(['Python','JavaScript','PHP','C++','Java','Scala','React','Ruby','Angular','PHP','Python','JavaScript'])

}


#Createa DataFrame

df = pd.DataFrame(d)

print(df)

3. Matplotlib

Matplotlib也是SciPy核心包的一部分,并在BSD许可下提供。它是一个流行的Python科学库,用于生成简单而强大的图表。您可以使用该Python框架进行数据科学研究,以生成有创意的图形、图表、直方图和其他形状的图形—而无需编写很多行代码。例如,让我们看看如何使用Matplotlib库创建一个简单的条形图。

让我们从导入库开始。

frommatplotlib import pyplotasplt

让我们生成x轴和y轴的值。

x = [2, 4, 6, 8, 10]

y = [10, 11, 6, 7, 4]

让我们调用绘制柱状图的函数。

plt.bar(x,y)

让我们来看看绘图。

plt.show()

这是柱状图:


#importing Matplotlib Python library

frommatplotlib import pyplotasplt

#same asimport matplotlib.pyplotasplt

#generating valuesforx-axis

x = [2, 4, 6, 8, 10]

#generating vaues fory-axis

y = [10, 11, 6, 7, 4]

#calling functionforplotting the bar chart

plt.bar(x,y)

#showing the plot

plt.show()

结语

Python编程语言在数据处理和分析方面一直做得很好,但在复杂的科学数据分析和建模方面就不那么好了。顶级的Python框架data science有助于填补这一空白,允许您执行复杂的数学计算并创建复杂的模型来理解您的数据。