来源:开源最前哨
本文约1500字,建议阅读5分钟。
本文为你分享最受数据科学青睐的3个顶级的Python库。

Python在许多方面有着强大的吸引力 - 例如效率、代码可读性和速率方面,也正由于如此,对付希望提升运用程序功能的数据科学家和机器学习专家来说,Python常日是首选编程措辞。(例如,Andrey Bulezyuk利用Python编程措辞创建了一个很牛逼的机器学习运用程序。)
由于其广泛的用场,Python拥有大量的库,使数据科学家可以更轻松地完成繁芜的任务,而无需面对很多编程麻烦。以下是最受数据科学青睐的3个顶级的Python库,如果你正须要,那就试试吧。
1. NumPy
NumPy(Numerical Python的缩写)是顶级的库之一,它配备了大量有用的资源来帮助数据科学家将Python变成强大的科学剖析和建模工具。这个盛行的开源库可以在BSD容许下利用。它是在科学打算中实行任务的根本Python库。NumPy是一个更大的基于python的开源工具生态系统SciPy的一部分。
这个库为Python供应了大量的数据构造,可以轻松地实行多维数组和矩阵打算。除了用于求解线性代数方程和其他数学打算之外,NumPy还被用作不同类型通用数据的通用多维容器。
此外,它能够完美集成其他编程措辞,如C/ c++和Fortran。NumPy库的多功能性使它能够轻松快速地与各种数据库和工具相结合。例如,让我们看看如何利用NumPy(缩写为np)来相乘两个矩阵。
从导入库开始(对付这些示例,我们将利用Jupyter条记本)。
import numpy as np
接下来,让我们利用eye()函数天生具有规定维数的单位矩阵:
matrix_one = np.eye(3)matrix_one
输出结果如下:
array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
让我们天生另一个3x3矩阵。
我们将利用arange([起始号码]、[停滞号码])函数来排列数字。把稳,函数中的第一个参数是要列出的初始数字,末了一个数字不包含在天生的结果中
此外,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.]])
接着,我们设法在不该用vanilla Python的情形下将两个矩阵相乘。以下是此示例的完全代码:
import numpy as np#generating a 3 by 3 identity matrixmatrix_one = np.eye(3)matrix_one#generating another 3 by 3 matrix for multiplicationmatrix_two = np.arange(1,10).reshape(3,3)matrix_two#multiplying the two arraysmatrix_multiply = np.dot(matrix_one, matrix_two)matrix_multiply
2. Pandas
panda是另一个可以提高您的Python数据科学技能的大型库。就像NumPy一样,它属于SciPy开源软件家族,并且可以在BSD自由软件容许下利用。
Pandas供应多功能和强大的工具,用于整理数据构造和实行大量数据剖析。该库适用于不完全,非构造化和无序的实际数据,并供应了用于整形,聚合,剖析和可视化数据集的工具。
此库中有三种类型的数据构造:
Series:单维阵列DataFrame:具有异构类型列的二维Panel:三维,大小可变数组例如,让我们看看Panda Python库(缩写为pd)如何用于实行一些描述性统计打算。从导入库开始:
import pandas as pd
先创建一个系列字典:
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 Experience0 Alfrick Python 51 Michael JavaScript 92 Wendy PHP 13 Paul C++ 44 Dusan Java 35 George Scala 46 Andreas React 77 Irene Ruby 98 Sagar Angular 69 Simon PHP 810 James Python 311 Rose JavaScript 1
下面是这个示例的全部代码:
import pandas as pd#creating a dictionary of seriesd = {'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 DataFramedf = pd.DataFrame(d)print(df)
3. Matplotlib
Matplotlib也是SciPy核心软件包的一部分,遵照BSD容许协议。它是一个盛行的Python科学库,用于天生大略而强大的可视化。风格类似 Matlab 的基于Python的图表绘图系统,它供应了一整套和 matlab 相似的命令 API,十分适宜交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入 GUI 运用程序中。
下面,让我们体会一下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()
天生的条形图如下:
以下是此示例的完全代码:
#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 chartplt.bar(x,y)#showing the plotplt.show()
Python编程措辞在数据处理和准备方面一贯做得很好,但在繁芜的科学数据剖析和建模方面做得就不那么好了。用于数据科学的顶级Python框架有助于补充这一空缺,它许可用户实行繁芜的数学打算并创建对数据故意义的繁芜模型。
你还知道其他哪些Python数据挖掘库?你对他们有什么履历?可以留言和大家分享。