3个用于数据科学的顶级Python库

即将开播:5月20日,基于kubernetes打造企业级私有云实践

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

3个用于数据科学的顶级Python库

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

1. NumPy

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

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

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

让我们从导入库开始。

import numpy as np 

接下来,让我们使用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 numpy as np 
#generating a 3 by 3 identity matrix 
matrix_one = np.eye(3) 
matrix_one 
#generating another 3 by 3 matrix for multiplication 
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 pandas as pd 

让我们创建一个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) 

这是一个很好的输出表:

      Name Programming Language  Years of Experience 
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 pandas as pd 
#creating a dictionary of 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']) 
    } 
​ 
#Create a DataFrame 
df = pd.DataFrame(d) 
print(df) 

3. Matplotlib

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

让我们从导入库开始。

from matplotlib import pyplot as plt 

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

x = [2, 4, 6, 8, 10] 
y = [10, 11, 6, 7, 4] 

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

plt.bar(x,y) 

让我们来看看绘图。

plt.show() 

这是柱状图:

3个用于数据科学的顶级Python库#importing Matplotlib Python library from matplotlib import pyplot as plt #same as import matplotlib.pyplot as plt   #generating values for x-axis x = [2, 4, 6, 8, 10]   #generating vaues for y-axis y = [10, 11, 6, 7, 4]   #calling function for plotting the bar chart plt.bar(x,y)   #showing the plot plt.show() 

相关推荐