python常用库
NumPy
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。
SciPy 是一个开源的 Python 算法库和数学工具包。
SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。
SciPy
参考:https://www.runoob.com/scipy/scipy-tutorial.html
SciPy 是一个开源的 Python 算法库和数学工具包。
SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
Pandas
Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。
Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。
Series 是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。
Matplotlib
参考:https://www.runoob.com/matplotlib/matplotlib-tutorial.html
Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。
Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。
import matplotlib.pyplot as plt
Pyplot中的 subplot() 和 subplots() 方法来绘制多个子图。subplot() 方法在绘图时需要指定位置,subplots() 方法可以一次生成多个,在调用时只需要调用生成对象的 ax 即可。
subplot(nrows, ncols, index, **kwargs)
将整个绘图区域分成 nrows 行和 ncols 列,然后从左到右,从上到下的顺序对每个子区域进行编号 1...N ,左上的子区域的编号为 1、右下的区域编号为 N,编号可以通过参数 index 来设置。
设置 numRows = 2,numCols = 1,就是将图表绘制成 2x1 的图片区域, 对应的坐标为:(1,1)(2,1)
import numpy as np from matplotlib import pyplot as plt fig = plt.figure() #plot (1,1) x = np.arange(24) y = 2 * x + 5 plt.subplot(2, 1, 1) plt.title("Matplotlib demo") plt.xlabel("x axis caption") plt.ylabel("y axis caption") plt.plot(x,y, 'ob') #plt.show() #plot (2,1) m = np.arange(0, 3*np.pi, 0.1) n = np.sin(m) plt.subplot(2, 1, 2) plt.title('sine wave form') plt.plot(m, n) plt.show() fig.savefig("test.png")
Pillow
Python Imaging Library,python平台事实上的图像处理标准库。
支持图像缩放、切片、旋转、滤镜、输出文字、调色板、模糊效果等。
xlwt
https://github.com/python-excel/xlwt
Python3 xlwt库基本教程 w3cschool
轻量级xls处理库,用于在原有工作簿或新建工作簿进行数据的写入,速度较快。
仅支持xls格式的excel文件。
import xlwt from datetime import datetime style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on', num_format_str='#,##0.00') style1 = xlwt.easyxf(num_format_str='D-MMM-YY') wb = xlwt.Workbook(encoding='utf-8') ws = wb.add_sheet('A Test Sheet') ws.write(0, 0, 1234.56, style0) ws.write(1, 0, datetime.now(), style1) ws.write(2, 0, 1) ws.write(2, 1, 1) ws.write(2, 2, xlwt.Formula("A3+B3")) wb.save(str('example.xls'))
xls处理
- xlrd 、 xlwt 、 xlutils 各自的功能都有局限性,但三者互为补充,覆盖了Excel文件尤其是 .xls 文件的操作。 xlwt 可以生成 .xls 文件, xlrd 可以读取已经存在的 .xls 文件, xlutils 连接 xlrd 和 xlwt 两个模块,使用户可以同时读写一个 .xls 文件。简单来说, xlrd 负责读、 xlwt 负责写、 xlutils 负责提供辅助和衔接。
- xlwings 能够非常方便的读写 Excel 文件中的数据,并且能够进行单元格格式的修改。
- XlsxWriter 是一个用来写 .xlsx 文件格式的模块。它可以用来写文本、数字、公式并支持单元格格式化、图片、图表、文档配置、自动过滤等特性。但不能用来读取和修改 Excel 文件。
- openpyxl 通过 工作簿 “workbook - 工作表 sheet - 单元格 cell” 的模式对 .xlsx 文件进行读、写、改,并且可以调整样式。
- pandas 大家都不陌生,是进行数据处理和分析的强大模块,有时也可以用来自动化处理Excel。
参考:
1. https://www.runoob.com/ 数据分析