I eine numpy Variable haben, die 'n' Dimensionen, beispielsweise sein kann: game_board = np.zeros((4,3,3), dtype=np.int8)
Dynamically ein Vektor entlang 1 Dimension in 'n' dimensional numpy Array erhalten
Ich möchte ein Vektor entlang der ersten Dimension erhalten, basierend auf einem Vektor choose_vector
choose_vector = np.array([x,y],dtype=np.int8)
ich weiß, wie ich dies tun kann statisch:
game_board[:, x, y]
# will return [0,0,0,0], the (x,y)th element from 1st dimension
aber alles, was ich habe dies versucht, so weit dabei die 012.374 mithat nicht funktioniert:
game_board[:, choose_vector]
# returns
[[[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]]]
print(game_board[choose_vector])
# returns
[[0,0,0]]
, wie ich den Index für game_board
choose_vector
gegeben, um konstruieren Sie das gleiche Ergebnis wie game_board[:, x, y]
ich es jedes dimensionalen Spielbrett erweitern würde dann zu bekommen, aber ich kann es wahrscheinlich funktionieren, wenn ich weiß, wie die oben genannten zu tun :)
ein direkter Ersatz zu sein, was ist 'choose_position'? Warum machst du nicht 'game_board [:, cv [0], cv [1]]'? –
In der realen Implementierung kann ich also nicht unbedingt die Länge von choose_position oder die Dimensionen von game_board kennen. –
choose_position war ein Tippfehler, sollte es choose_vector sein –