Nic*_*ati 3 python arrays numpy
我想在numpy中创建一个3D数组,如下所示:
[ 0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1 ] ...
Run Code Online (Sandbox Code Playgroud)
有没有一个很好的方式来写它?
使用np.tile:
import numpy as np
a = np.array([0, 1])
my_tiled_array = np.tile(a, (3, 3))
Run Code Online (Sandbox Code Playgroud)
结果:
array([[0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1]])
Run Code Online (Sandbox Code Playgroud)
编辑:
正如@DSM在评论中建议的那样,如果你真的想要一个3D数组 - 我的代码示例中并不完全清楚 - 你可以使用:
my_3d_tiled_arr = np.tile(a, (3, 3, 3))
Run Code Online (Sandbox Code Playgroud)
结果:
array([[[0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1]],
[[0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1]],
[[0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1]]])
Run Code Online (Sandbox Code Playgroud)