gpt4 book ai didi

python - 将 3D numpy 拆分为 3 个不同的数组

转载 作者:行者123 更新时间:2023-12-01 01:22:54 26 4
gpt4 key购买 nike

我有 numpy.array pf 形状 (64, 64, 64)我想把它分成 3 个变量,所以

x.shape ==> (64) 

y.shape ==> (64)

z.shape ==> (64)

由于每个暗淡代表体素坐标(x,y,z),我尝试使用dsplit()但没有运气。有什么建议吗?

最佳答案

您正在寻找的可能是transpose + ravel:

X = np.arange(27).reshape((3,3,3))
>>> X
([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],

[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],

[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])

您的x,y,z:

>>> X.transpose((0,1,2)).ravel()
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26])

>>> X.transpose((1,2,0)).ravel()
array([ 0, 9, 18, 1, 10, 19, 2, 11, 20, 3, 12, 21, 4, 13, 22, 5, 14,
23, 6, 15, 24, 7, 16, 25, 8, 17, 26])

>>> X.transpose((2,0,1)).ravel()
array([ 0, 3, 6, 9, 12, 15, 18, 21, 24, 1, 4, 7, 10, 13, 16, 19, 22,
25, 2, 5, 8, 11, 14, 17, 20, 23, 26])

关于python - 将 3D numpy 拆分为 3 个不同的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53638048/

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