NumPy(数值 Python 的简称)是其中一个顶级数据科学库,它拥有许多有用的资源,从而帮助数据科学家把 Python 变成一个强大的科学分析和建模工具。NumPy 是在 BSD 许可证的许可下开源的,它是在科学计算中执行任务的基础 Python 库。SciPy 是一个更大的基于 Python 生态系统的开源工具,而 NumPy 是 SciPy 很是重要的一部分。数据库
NumPy 为 Python 提供了大量数据结构,从而可以轻松地执行多维数组和矩阵运算。除了用于求解线性代数方程和其它数学计算以外,NumPy 还能够用作不一样类型通用数据的多维容器。编程
此外,NumPy 还能够和其余编程语言无缝集成,好比 C/C++ 和 Fortran。NumPy 的多功能性使得它能够简单而快速地与大量数据库和工具结合。好比,让咱们来看一下如何使用 NumPy(缩写成 np)来实现两个矩阵的乘法运算。数组
咱们首先导入 NumPy 库(在这些例子中,我将使用 Jupyter notebook):数据结构
1.import numpy **as** np
接下来,使用 eye() 函数来生成指定维数的单位矩阵:框架
1.matrix_one = np.eye(3) 2.matrix_one
输出以下:编程语言
1.**array**([[1., 0., 0.], 2. [0., 1., 0.], 3. [0., 0., 1.]])
让咱们生成另外一个 3×3 矩阵。ide
咱们使用 arange([starting number], [stopping number]) 函数来排列数字。注意,函数中的第一个参数是须要列出的初始数字,然后一个数字不包含在生成的结果中。函数
另外,使用 reshape() 函数把原始生成的矩阵的维度改为咱们须要的维度。为了使两个矩阵“可乘”,它们须要有相同的维度。工具
1.matrix_two= np.arange(1,10).reshape(3,3) 2.matrix_two
输出以下:学习
**array**([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
接下来,使用 dot() 函数将两个矩阵相乘。
1.matrix_multiply= np.dot(matrix_one, matrix_two) 2.matrix_multiply
相乘后的输出以下:
**array**([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])
太好了!
咱们成功使用 NumPy 完成了两个矩阵的相乘,而不是使用普通冗长vanilla的 Python 代码。
下面是这个例子的完整代码:
1.import numpy as np 2.#生成一个 3x3 单位矩阵 3.matrix_one = np.eye(3) 4.matrix_one 5.#生成另外一个 3x3 矩阵以用来作乘法运算 6.matrix_two = np.arange(1,10).reshape(3,3) 7.matrix_two 8.#将两个矩阵相乘 9.matrix_multiply = np.dot(matrix_one, matrix_two) 10.matrix_multiply
Pandas 是另外一个能够提升你的 Python 数据科学技能的优秀库。就和 NumPy 同样,它属于 SciPy 开源软件家族,能够在 BSD 自由许可证许可下使用。
Pandas 提供了多能而强大的工具,用于管理数据结构和执行大量数据分析。该库可以很好的处理不完整、非结构化和无序的真实世界数据,而且提供了用于整形、聚合、分析和可视化数据集的工具
Pandas 中有三种类型的数据结构:
Series:一维、相同数据类型的数组
DataFrame:二维异型矩阵
Panel:三维大小可变数组
例如,咱们来看一下如何使用 Panda 库(缩写成 pd)来执行一些描述性统计计算。
首先导入该库:
1.import pandas **as** pd
而后,建立一个序列series字典:
1.d= 2.{'Name':pd.Series(['Alfrick','Michael','Wendy','Paul','Dusan','George', 3'Andreas', 4.'Irene','Sagar','Simon','James','Rose']), 5.'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:
1.df= pd.DataFrame(d)
输出是一个很是规整的表:
1. 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
下面是这个例子的完整代码:
1.import pandas **as** pd 2.#建立一个序列字典 3.d= 4{'Name':pd.Series(['Alfrick','Michael','Wendy','Paul','Dusan','George', 5.'Andreas', 6'Irene','Sagar','Simon','James','Rose']), 7.'Years of Experience':pd.Series([5,9,1,4,3,4,7,9,6,8,3,1]), 8.'Programming 9.Language':pd.Series(['Python','JavaScript','PHP','C++','Java','Scala','React','Ruby','Angular','PHP','Python','JavaScript']) 0. } 1.#建立一个数据框 df= pd.DataFrame(d) print(df)
Matplotlib 也是 Scipy 核心包的一部分,而且在 BSD 许可证下可用。它是一个很是流行的科学库,用于实现简单而强大的可视化。你可使用这个 Python 数据科学框架来生成曲线图、柱状图、直方图以及各类不一样形状的图表,而且不用担忧须要写不少行的代码。例如,咱们来看一下如何使用 Matplotlib 库来生成一个简单的柱状图。
首先导入该库:
1.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()
柱状图以下:  下面是这个例子的完整代码:
#导入 Matplotlib 库
from matplotlib import pyplot as plt
#和 import matplotlib.pyplot as plt 同样
#生成 x 轴的数值
x= [2, 4, 6, 8, 10]
#生成 y 轴的数值
y= [10, 11, 6, 7, 4]
#调用函数来绘制柱状图
plt.bar(x,y)
#显示图表
plt.show()
Python 编程语言很是擅长数据处理和准备,可是在科学数据分析和建模方面就没有那么优秀了。幸亏有这些用于数据科学的顶级 Python 框架填补了这一空缺,从而你可以进行复杂的数学计算以及建立复杂模型,进而让数据变得更有意义。
你还知道其它的 Python 数据挖掘库吗?你的使用经验是什么样的?请在下面的评论中和咱们分享一块儿学习。
更多Python技术文章请关注2019年,Python技术持续更新(附教程)