gpt4 book ai didi

Python - 在 z 平面上切片

转载 作者:行者123 更新时间:2023-12-01 03:25:46 25 4
gpt4 key购买 nike

我有一个 3d 列表 mylist,其形状为

(30, 30, 580)

我想在 z 平面上对其进行切片,例如在 z=100 处。

我尝试过以下方法

plt.imshow(mylist[:][:][100],origin='lower', aspect='auto')
plt.show()

产生错误

index 100 is out of bounds for axis 0 with size 30

据我了解,似乎 imshow 只能处理 xy 平面,但无法切片在 z 平面上。如何做到这一点?

最佳答案

如果mylist是列表列表的列表,您可以使用沿第三轴进行切片

[[mylist[i][j][100] for j in range(30)] for i in range(30)]

但是,由于您使用的是 matplotlib,因此还必须安装 NumPy。所以转换 mylist 会更容易到 NumPy 数组中,然后使用 NumPy 索引:

myarrary = np.array(mylist)
plt.imshow(myarray[..., 100], origin='lower', aspect='auto')
<小时/>

原因mylist[:][:][100]不起作用是因为mylist[:]返回 mylist 的浅拷贝-- 内容与 mylist 完全相同的新列表。所以两者mylistmylist[:][:]是列表的列表的列表。

mylist[:][:][100]失败的原因与 mylist[100] 相同会失败—— mylist 的顶级内容只有 30 项。

关于Python - 在 z 平面上切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41408600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com