如何在Python中获得矩阵的子阵列

发布于 2025-02-02 12:31:40 字数 302 浏览 0 评论 0原文

说我有以下数组j

[[1, 2, 3, 4, 5], 
 [7, 7, 7, 6, 4], 
 [1, 1, 2, 0, 0]]

如何获得2x2的子阵列,以便子阵列是:

[[1, 2], 
 [7, 7],]

直觉我假设j [0:2] [0:2]>会做到这一点,但我得到了:

[[1, 2, 3, 4, 5], [7, 7, 7, 6, 4]]

say I have the following array j:

[[1, 2, 3, 4, 5], 
 [7, 7, 7, 6, 4], 
 [1, 1, 2, 0, 0]]

how can I get the subarray of 2x2 so the subarray would be:

[[1, 2], 
 [7, 7],]

intuitively I assumed j[0:2][0:2] would do the trick but I get:

[[1, 2, 3, 4, 5], [7, 7, 7, 6, 4]]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟花易冷人易散 2025-02-09 12:31:40

您需要明确说出每行想要的内容:

[r[0:2] for r in j[0:2]]

You need to explicitly say what you want from each row:

[r[0:2] for r in j[0:2]]
抠脚大汉 2025-02-09 12:31:40

在Numpy中,您可以做到这一点:

import numpy as np 
j = np.array([[1, 2, 3, 4, 5], 
 [7, 7, 7, 6, 4], 
 [1, 1, 2, 0, 0]])

j[:2, :2]

输出:

>>
[[1 2]
 [7 7]]

in numpy you can do this:

import numpy as np 
j = np.array([[1, 2, 3, 4, 5], 
 [7, 7, 7, 6, 4], 
 [1, 1, 2, 0, 0]])

j[:2, :2]

output:

>>
[[1 2]
 [7 7]]
过潦 2025-02-09 12:31:40

您也可以做:

[j[i][:2] for i in range(2)]

[[1, 2], 
 [7, 7]]

You could also do:

[j[i][:2] for i in range(2)]

[[1, 2], 
 [7, 7]]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文