知行编程网知行编程网  2022-10-22 14:30 知行编程网 隐藏边栏  26 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于基础学习:Python中numpy如何切片的相关知识,包括Python中的切片,以及numpy切片原理这些编程知识,希望对大家有参考作用。


基础学习:Python中numpy如何切片

Numpy 在矩阵运算中使用得非常频繁。今天,我将向大家展示 numpy 如何解决 Python 中的切片问题。


1.取元素 X[n0,n1]

这是最基本的情况,就是取第0维的第n0个元素,继续取第1维的第n1个元素。比如X[2,2]代表第0维[20,21,22,23]的第二个元素,然后取第一维的第二个元素,即22;



2.切片 X[s0:e0,s1:e1]

这是最一般的切片操作,意思是取维度为0的元素s0到e0,继续取维度为1的元素s1到e1(左闭右开)。例如,X[1:3,1:3] 表示第 0 维 [[10,11,12,13],[20,21,22,23]] 的第 (1:3) 个元素,然后取第一个维度的第 (1:3) 个元素是 [[11,12],[21,22]];



3.切片特殊情况 X[:e0,s1:]

特殊情况下,X[:e0,s1:e1] 可以从左侧从 0 省略,X[s0:,s1:e1] 可以从右侧到末尾省略,一个维度 X 的所有元素[:,s1:e1] 可以取,其实和Python的序列切片规则是一样的。


常见的 X[:,0] 则表示 第0维取全部,第1维取0号元素;



示例代码

<p><span>import numpy as np

X = np.array([[0,1,2,3],[10,11,12,13],[20,21,22,23],[30,31,32,33]])

# X 是一个二维数组,维度为 0 ,1
# 第 0 层 [] 表示第 0 维;第 1 层 [] 表示第 1 维;

# X[n0,n1] 表示第 0 维 取第n0 个元素 ,第 1 维取第 n1 个元素
print(X[1,0])
# X[1:3,1:3] 表示第 0 维 取 (1:3)元素 ,第 1 维取第(1:3) 个元素
print(X[1:3,1:3])

# X[:n0,:n1] 表示第 0 维 取 第0 到 第n0 个元素 ,第 1 维取 第0 到 第n1 个元素
print(X[:2,:2])
# X[:,:n1] 表示第 0 维 取 全部元素 ,第 1 维取 第0 到第n1 个元素
print(X[:,:2])

# X[:,0]) 表示第 0 维 取全部 元素 ,第 1 维取第 0 个元素
print(X[:,0])<br/></span></p>


输出结果

<p><span>10
[[11 12]
 [21 22]]
[[ 0  1]
 [10 11]]
[[ 0  1]
 [10 11]
 [20 21]
 [30 31]]
[ 0 10 20 30]<br/></span></p>



PS:


X[n0,n1]


简介

X[n0,n1]是通过numpy库引用二维数组或矩阵中的某个数据集的一种方式。

同理,X[n0,n1,n2]表示取一个3维数组,取一个N维数组有N个参数,用N-1个逗号隔开。


以二维数组为例:

<p><span>import numpy as np<br/>X = np.array([[0,1,2,3],[10,11,12,13],[20,21,22,23],[30,31,32,33]])<br/></span></p>

X 是一个二维数组,维度分别为 0 和 1;为了便于理解多维性,维数由括号中的'['确定,例如:从左到右,第0层[]代表第0维; Level 1[] 表示第一维; …等等。


学过切片方法的朋友不要错过我们的下一篇numpy索引~更多Python学习推荐:





(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享