鱼C论坛

 找回密码
 立即注册
查看: 1841|回复: 3

[已解决]矩阵切片

[复制链接]
发表于 2021-6-11 15:26:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请教群里高手,这个矩阵切片y[:2, 1:2]是什么?我觉得是不是与列表一样,是第0项的第2项,和第1项的第2项?如果是这样,不应该是[[3] [6]]才对吗?

>>> import numpy as np
>>> y = np.arange(10)
>>> y
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> y = y[1:]
>>> y
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> y = y.reshape(3,3)
>>> y
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
>>> print(y[:2,1:2])
[[2]
[5]]
最佳答案
2021-6-11 18:43:06
array[行,列]   默认都是全部  逗号前面放行,逗号后面是列
切记 行和列 下标也都是从零开始的 也就是 第一行 对应的下标是0
下面就直接举例子了~


取单行:
array[1]  # 这里是取第二行
也可以写成这样:
array[1,:]  # 意思是取第2行 所有列


取多行:
array[2:] # 这里是从第3行 至 最后行
也可以这样些:
array[2:,:] 


取不连续多行:
array[[1,3,5,7,9]] # 取 2,4,6,8,10行
也可以这样:
array[[1,3,5],:] # 取 2,4,6行的所有列


取列正好和行位置互换下, 意思不变:
array[:,1]  # 取所有行的第2列


取连续的多列:
array[:,3:] # 取第4列后面的每一列


取不连续多列:
array[:,[1,2,3]] #取第 2,3,4列 


取值是:
array[2,5] # 取第三行 第6列的值
取多个值:
array[(0,2),(4,6)] # 取第1行第5列的值 和 第3行第7列的值

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-11 17:06:30 | 显示全部楼层
本帖最后由 阿奇_o 于 2021-6-11 17:08 编辑

其实,2D矩阵说白了就是“行列”,你只要理解numpy的矩阵里 哪些是行,哪些是列,就能较好地理解其接下来的各种操作。此为关键一。
关键二,切片[row_slice, col_slice] 就是分别对行和列进行切片,
比如,你这里 y[:2, 1:2] 就是 对行切出第1,2行,对列切出第2列(注意下标索引一般都是左闭右开)
所以,最后 切出来的结果是 arrray([[2], [5]] ),打印效果则是你最后那样。

OK,我想你应该可以理解了。。

ps: 或许你们老师应该先教pandas模块,然后再学numpy 。。
这样应该更好理解“矩阵”,因为pandas较少涉及抽象的矩阵,更多的是如何操作行列等实用操作。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-11 18:43:06 | 显示全部楼层    本楼为最佳答案   
array[行,列]   默认都是全部  逗号前面放行,逗号后面是列
切记 行和列 下标也都是从零开始的 也就是 第一行 对应的下标是0
下面就直接举例子了~


取单行:
array[1]  # 这里是取第二行
也可以写成这样:
array[1,:]  # 意思是取第2行 所有列


取多行:
array[2:] # 这里是从第3行 至 最后行
也可以这样些:
array[2:,:] 


取不连续多行:
array[[1,3,5,7,9]] # 取 2,4,6,8,10行
也可以这样:
array[[1,3,5],:] # 取 2,4,6行的所有列


取列正好和行位置互换下, 意思不变:
array[:,1]  # 取所有行的第2列


取连续的多列:
array[:,3:] # 取第4列后面的每一列


取不连续多列:
array[:,[1,2,3]] #取第 2,3,4列 


取值是:
array[2,5] # 取第三行 第6列的值
取多个值:
array[(0,2),(4,6)] # 取第1行第5列的值 和 第3行第7列的值

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-12 09:42:25 | 显示全部楼层
非常清楚,学习了,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-15 17:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表