[英]How can I insert the numbers of the 3D matrix into 2D matrix?
假設 A 是一個像下面這樣的三維矩陣:
A = [np.zeros((3, 8)) for _ in range(20)]
B 是一個二維矩陣,有 60 行和 8 列包含數字。 想把矩陣B的數放到矩陣A中,用循環寫代碼怎么辦?
A[0][0] = B[0]
A[0][1] = B[1]
A[0][2] = B[2]
A[1][0] = B[3]
A[1][1] = B[4]
A[1][2] = B[5]
...
A[20][0] = B[58]
A[20][1] = B[59]
A[20][2] = B[60]
謝謝
我希望我已經理解你的問題了。 您可以使用.flat
+ 索引:
A = [np.zeros((3, 8)) for _ in range(20)]
B = np.arange(60 * 8).reshape(60, 8)
for i, subl in enumerate(A):
subl.flat[:] = B.flat[i * 3 * 8 :]
print(*A, sep="\n\n")
印刷:
[[ 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. 27. 28. 29. 30. 31.]
[32. 33. 34. 35. 36. 37. 38. 39.]
[40. 41. 42. 43. 44. 45. 46. 47.]]
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.