Python常用库

1、Matplotlib 2D绘图库

1.1、基本介绍

Matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。 Matplotlib可用于Python脚本,Python和 IPython Shell、Jupyteropen 笔记本,Web应用程序服务器和四个图形用户界面工具包。Matplotlib 尝试使容易的事情变得更容易,使困难的事情变得可能。 您只需几行代码就可以生成图表、直方图、功率谱、条形图、误差图、散点图等。

 

1.2、基本使用

import matplotlib.pyplot as plt
# 1.创建画布
plt.figure(figsize=(5, 5), dpi=100)
# 2.绘制折线图
plt.plot([1, 2, 3, 4, 5, 6 ,7], [17,17,18,15,11,11,13])
# 3.显示图像
plt.show()

 

2、Numpy

Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。Numpy支持常见的数组和矩阵操作,对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。

NumPy包的核心是 ndarray 对象,它封装了python原生的同数据类型的 n 维数组,Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。

 

2.1、ndarray 

NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

  • ndarray 对象是用于存放同类型元素的多维数组。
  • ndarray 中的每个元素在内存中都有相同存储大小的区域。

创建一个 ndarray 只需调用 NumPy 的 array 函数即可:

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

参数说明:

  • object:数组或嵌套的数列
  • dtype:数组元素的数据类型,可选
  • copy:对象是否需要复制,可选
  • order:创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
  • subok:默认返回一个与基类类型一致的数组
  • ndmin:指定生成数组的最小维度
import numpy as np

# 创建ndarray
score = np.array(
[[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]])

# 输出score
score

输出如下:

 

2.1.1、ndarray的优势

ndarray 的计算速度比原生 python 列表快很多,而且数组越大,Numpy的优势就越明显。

原理如下:

1)内存块风格不同。ndarray在存储数据的时候,数据与数据的地址都是连续的,这样就给使得批量操作数组元素时速度更快。ndarray中的所有元素的类型都是相同的,而Python列表中的元素类型是任意的,所以ndarray在存储元素时内存可以连续,而 python 原生list就只能通过寻址方式找到下一个元素。

 

 

2)ndarray支持并行化运算(向量化运算)。numpy内置了并行运算功能,当系统有多个核心时,做某种计算时,numpy会自动做并行计算

3)效率远高于纯Python代码。Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,所以,其效率远高于纯Python代码。

 

posted @ 2024-11-12 15:57  wenxuehai  阅读(101)  评论(0)    收藏  举报
//右下角添加目录