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。

参考:Python3 操作excel库总结

 

参考:

1. https://www.runoob.com/  数据分析

2. https://www.w3cschool.cn/python3/python3-excel.html

posted @ 2016-08-24 10:21  yuxi_o  阅读(1350)  评论(0编辑  收藏  举报