1、Numpy
NumPy ( Numerical Python 的简称)是高性能科学计算和数据分析的基础包,
其中包含了数组对象 ( 向量、矩阵、图像等 ) 以及线性代数等。
NumPy库主要功能
• ndarray( 数组 ) 是具有矢量算术运算和复杂广播能力的多维数组。
• 具有用于对数组数据进行快速运算的标准数学函数。
• 具有用于读写磁盘数据、操作内存映射文件的工具。
• 具有线性代数、随机数生成以及傅里叶变换功能。
• 具有用于集成由 C 、 C++ 、 Fortran 等语言编写的代码的工具。
NumPy库的安装
CMD
打开命令窗口
• pip install numpy # 在 cmd 中输入
NumPy库的调用
import numpy as np #约定俗成
2.数据维度的理解
- 二维数据
二维数据由多个一维数据构成,是一维数据的组合形式。
表格是典型的二维数据。
- 多维数据
多维数据由一维或二维数据在新维度上扩展形成。 (比如在二维数据基础上加上时间轴)
- 一维数据:列表和集合类型
[3.13, 4.13, 2,34] 有序
{3.13, 4.13, 2,34} 无序
- 二维数据:列表类型
- 多维数据:列表类型
- 高维数据:字典类型或数据表示格式
举例:
计算 A 2 +B 3 ,其中, A 和 B 是一维数组。
a=[0,1,2,3,4]
```cpp
b=[5,6,7,8,9]
c=[]
for i in range(0,5):
c.append(a[i]**2+b[i]**3)
import numpy as np
a_array=np.array(a)
b_array=np.array(b)
c=a_array**2+b_array**3
数组优势
数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据
设置专门的数组对象,经过优化,可以提升这类应用的运算速度
观察:科学计算中,一个维度所有数据的类型往往相同
数组对象采用相同的数据类型,有助于节省运算和存储空间
3.数组
NumPy 库处理的最基础数据类型是由同种元
素构成的多维数组 (ndarry) , 简称“数组”。
• numpy 数组的维数称为秩,每一个线性的数组称为轴。
• 同一个 numpy 数组中所有元素的类型一般是相同的。
例子
ndarray 在程序中的别名是: array.
np.array() 输出成 [] 形式,元素由空格分割 .
>>> import numpy as np
>>> a=[[1,2],[3,4]]
>>> a_array=np.array(a)
>>> a_array
array([[1, 2],
[3, 4]])
>>> type(a_array)
numpy.ndarray
3.1数组创建
从 Python 中的列表 、元组等类型创建 ndarray 数组
使用 NumPy 中函数创建 ndarray 数组 ,如: arange ,ones, zeros 等。
从字节流 ( raw bytes )中创建 ndarray 数组。
从文件中读取特定格式 ,创建 ndarray 数组。
- 内置数据结构创建数组
基本格式: NumPy 将根据数据情况关联一个 dtype 类型
np.array(list/tuple, dtype=np.float32)
例子
>>> np.array([[1,2],[3,4]])
>>> np.array(((1,2),(3,4)))
array([[1, 2],
[3, 4]])
有整数有浮点数则转浮点
>>> np.array([[1,1.1],(2,2.1)])
array([[1. , 1.1],
[2. , 2.1]])
- 数组元素的类型
dtype( 数据类型 ) 是一个特殊对象,它含有 ndarry 将一块内存解释为特定数 据类型所需要的信息。
- 数组元素的类型:原因解释
ndarray 为什么要支持这么多种元素类型?
Python语法仅支持整数、浮点数和复数 3 种类型
Ndarry 的优势
• 科学计算涉及数据较多,对存储和性能都有较高要求
• 对元素类型精细定义,有助于 NumPy 合理使用存储空间并优化性能
• 对元素类型精细定义,有助于程序员对程序规模有合理评估
- 常用创建数组的函数
使用 Numpy 中函数创建 ndarry 数组,如 arrange , ones , zeros 等
实例
>>> np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.ones((3,6))
array([[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.]])
>>> np.ones((2,4),dtype=np.int32) :
array([[1, 1, 1, 1],
[1, 1, 1, 1]])
>>> np.eye(4)
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
>>> np.full((2,4),4)
array([[4, 4, 4, 4],
[4, 4, 4, 4]])
- 已知尺度大小创建数组
使用 NumPy 中函数创建 ndarray 数组,如: arange, ones, zeros 等
- 数组对象的属性
a = np.array([[0, 1, 2, 3], [4, 5, 6, 7]]) #二维数组
b = np.array([0, 1, 2, 3]) #一维数组
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_60535956/article/details/127850623