写在前面
因为学校组织参加大数据比赛,自己数据分析的学习计划要提前了,刚好借着这段时间进行突击学习,今天主要介绍各种和数据分析相关的python库。
(图片来源于网络)
1
Numpy
NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!它提供以下功能(不限于此):
(1)快速高效的多维数组对象ndarray (2)用于对数组执行元素级计算以及直接对数组执行数学运算的函数 (3)用于读写硬盘上基于数组的数据集的工具 (4)线性代数运算、傅里叶变换,以及随机数生成 (5)用于将C、C 、Fortran代码集成到python的工具
举个栗子:
代码语言:javascript复制#Numpy简单创建数组
import numpy as np
# 创建简单的列表
a = [1, 2, 3, 4]
# 将列表转换为数组
b = np.array(a)
print(b)
#数组元素个数
print(b.size)
#数组形状
print(b.shape)
#数组维度
print(b.ndim)
#数组元素类型
print(b.dtype)
2
Pandas
pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数。pandas兼具Numpy高性能的数组计算功能以及电子表格和关系型数据(如SQL)灵活的数据处理能力。它提供了复杂精细的索引功能,以便更为便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。
对于金融行业的用户,pandas提供了大量适用于金融数据的高性能时间序列功能和工具。
3
Matplotlib
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 。 通过 Matplotlib,仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
举个栗子:
代码语言:javascript复制import numpy as np
import matplotlib.pyplot as plt
# x轴对应的值
x = np.linspace(0, 5, 100)
# 画图,并设置线形和颜色。
# b代表 blue,- 代表线型
plt.plot(x, x**2, 'b-')
# 设置x轴和y轴的名字
plt.ylabel('y')
plt.xlabel('x')
# 设置标题
plt.title("First Figure")
# 设置栅格
plt.grid(True)
# 设置坐标范围
plt.xlim(0, 3)
plt.ylim(0, 7)
# 在指定坐标处标注文字
plt.text(1,4,r'y=x^2',fontsize=20)
# 添加图例,注意是个tuple,加逗号
plt.legend(('Ahab',),loc='upper right')
# 设置刻度标签
# lables=[x for x in range(10)]
#lt.xticks(x,lables)
# 打开次刻度 Minor tick
plt.minorticks_on()
# 显示图片,在NoteBook中可以不写
plt.show()
效果图:
以上三个库可以称为数据分析的三剑客,学好以上三个库可以解决大部分问题。
4
Scipy
scipy包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化,图像处理,统计,特殊函数等等。
scipy可以与其它标准科学计算程序库进行比较,比如GSL(GNU C或C 科学计算库),或者Matlab工具箱。scipy是Python中科学计算程序的核心包; 它用于有效地计算numpy矩阵,来让numpy和scipy协同工作。
5
Statsmodels
statsmodels是一个Python模块,它提供对许多不同统计模型估计的类和函数,并且可以进行统计测试和统计数据的探索。
statsmodels库官方文档http://www.statsmodels.org/stable/
6
SciKit learn
SciKit learn的简称是SKlearn,是一个python库,专门用于机器学习的模块。
SciKit learn库官方文档http://scikit-learn.org/stable/
未完待续...