前记~
IPython的%run命令
| 常用命令 | 说明 |
| %magic | 显示所有魔术命令 |
| %hist | IPython命令的输入历史 |
| %pdb | 异常发生后自动进入调试器 |
| %reset | 删除当前命令空间中的全部变量或名称 |
| %who | 显示IPython当前命令空间中已经定义的变量 |
| %time statement | 给出代码的执行时间,statement表示一段代码 |
| %timeit statement | 多次执行代码,计算综合平均执行时间 |
开始了!
理解一维、二维、多维、高维数据
在这里重点说下高维数据,其余维度与常见的概念一致
高维数据:高维数据仅利用最基本的二元关系展示数据间的复杂结构
如下面的键值对

数据维度的Python表示
一维数据:列表和集合类型
二维数据:列表类型
多维数据:列表类型
高维数据:字典类型或数据表示格式(JSON、XML、YAML格式等)
NumPy
- NumPy是一个开源的Python科学计算基础库,一个强大的N维数组对象ndarray
- 广播功能函数
- 整合C/C++/Fortran代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
1、NumPy的引用
import numpy as np
2、N维数组对象:ndarray
- 数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据。
- 设置专门的数组对象,经过优化,可以提升这类用用的运算速度。
- ndarray是一个多维数组对象,由两部分构成:①实际数据 ②描述这些数据的元数据(数据维度、数据类型等)
- ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始。

例如,计算
,其中,A和B是一维数组
def pySum(): import numpy as np
a = [0,1,2,3,4] def npSum():
b = [9,8,7,6,5] a = np.array([0,1,2,3,4])
c = [] b = np.array([9,8,7,6,5])
for i in range(len(a)): c = a**2 + b**3
c.append(a[i]**2 + b[i]**3) return c
return c print(npSum())
print(pySum())
运行结果:[729, 513, 347, 225, 141]
(1)轴(axis):保存数据的维度
秩(rank):轴的数量,即有多少个维度
(2)ndarray对象的属性
| 属性 | 说明 |
| .ndim | 秩,即轴的数量或维度的数量 |
| .shape | ndarray对象的尺度,对于矩阵,n行m列 |
| .size | ndarray对象元素的个数,相当于.shape中n*m的值 |
| .dtype | ndarray对象的元素类型 |
| .itemsize | ndarray对象中每个元素的大小,以字节为单位 |
import numpy as np
np.random.seed(0) #设置随机数种子,以确保每次程序执行时都可以生成同样的随机数组
x1 = np.random.randint(10,size=6) #一维数组
x2 = np.random.randint(10,size=(3,4)) #二维数组
x3 = np.random.randint(30,size=(3,4,5)) #三维数组
print("x3 ndim:",x3.ndim) #每个数组有ndim(数组的维度)、shape(数组每个维度的大小)和size(数组的总大小)属性:
x3 ndim: 3
print("x3 shape:",x3.shape)
x3 shape: (3, 4, 5)
print("x3 size:",x3.size)
x3 size: 60
其他属性包括每个数组元素字节大小的itemsize,以及表示数组总字节大小的属性nbytes,数组的数据类型dtype.一般认为,nbytes跟itemsize和size的乘积大小相等。
(3)ndarray的元素类型
| 数据类型 | 说明 |
| bool | 布尔类型,True或False |
| intc | 与C语言中的int类型一致,一般是int32或int64 |
| intp |

本文详细介绍了NumPy库中的核心对象ndarray,包括其属性、创建方法、数组的索引和切片、转置、变形、拼接与分裂等操作。通过实例解析了如何从Python列表创建数组、使用NumPy函数创建数组、进行布尔型索引以及数组的矩阵运算。此外,还讨论了非副本视图的子数组以及数组与标量之间的运算,是学习NumPy的基础教程。
最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=99442250&d=1&t=3&u=8a4a2b266c1f45e793d94d18f7c3368f)
1714

被折叠的 条评论
为什么被折叠?



