Numpy:高维数组(矩阵)

简介: numpy库为python提供了很多方便的数学计算方法,尤其是提供了数组,极大方便了使用python进行矩阵运算,使其在机器学习和深度学习中得到有效利用,本文详细介绍一下高维矩阵问题。 平时我们使用最多的就是一,二维和三维矩阵,以前我容易将其跟立体几何联系起来。

numpy库为python提供了很多方便的数学计算方法,尤其是提供了数组,极大方便了使用python进行矩阵运算,使其在机器学习和深度学习中得到有效利用,本文详细介绍一下高维矩阵问题。

平时我们使用最多的就是一,二维和三维矩阵,以前我容易将其跟立体几何联系起来。后来发现这样是非常错误的,因为再高一点的维度就不能想象了。所以,按照矩阵的形式,从外向内,逐层分解才能掌握好矩阵。

正文:

将以下代码敲一遍就会豁然开朗:

import numpy as np

a=np.arange(10)
print(a)
print(a[0:9])  # 包头不包尾
print(a[3:6])
print(a[:5])  # :前面不写就是从下标为0开始
print(a[5:])  # :后面不写就是一直到最后一个元素
print(a[:])   # :前后都不写就是从头到尾



print('---------------')
'''
多维矩阵按括号的层级,从外向内,一次是第1,2,3,...维

b[]内用逗号将各维分开,分别代表第1,2,3...维元素

每个维度上都有自己的下标,也可以用':'取部分
'''
b= np.mat(np.arange(20).reshape(4,5))
print(b)
print(b[1:3,2:5])   # 先取第一维中下标为1,2的2部分,再取第二维中下标为2,3,4的3部分
print(b[:2,2:])     # 同理,前面不写从头开始,后面不写一直到末尾
print(b[:2,3])      # 当然,也可以在某维度上只取一行

print('-----------------')
c= np.arange(60).reshape(3,4,5)
print(c)
print(c[:2,2:4,1:4])  # 从外向内一层一层的,不改变矩阵维度

print('-------------------')
d= np.arange(240).reshape(3,4,5,4)
print(d)
print(d[:2,1:3,2:5,1:3])
目录
相关文章
|
2月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
87 10
|
2月前
|
Python
Numpy学习笔记(四):如何将数组升维、降维和去重
本文介绍了如何使用NumPy库对数组进行升维、降维和去重操作。
47 1
|
2月前
|
Python
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
35 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
|
2月前
|
Python
使用 NumPy 进行数组操作的示例
使用 NumPy 进行数组操作的示例
37 2
|
2月前
|
索引 Python
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧1
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
106 4
|
2月前
|
机器学习/深度学习 并行计算 调度
CuPy:将 NumPy 数组调度到 GPU 上运行
CuPy:将 NumPy 数组调度到 GPU 上运行
96 1
|
3月前
|
Python
numpy | 插入不定长字符数组测试OK
本文介绍了如何在numpy中创建和操作不定长字符数组,包括插入和截断操作的测试。
|
3月前
|
API Python
Numpy 数组的一些集合操作
Numpy 数组的一些集合操作
39 0
|
3月前
|
编译器 Linux API
基于类型化 memoryview 让 Numpy 数组和 C 数组共享内存
基于类型化 memoryview 让 Numpy 数组和 C 数组共享内存
42 0
|
3月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
91 0