как использовать нарезку, чтобы получить 2 числа в нескольких массивах (numpy) - PullRequest
0 голосов
/ 28 апреля 2020

если у меня есть массив

a = np.array([[1,2,3],[4,5,6],[7,8,9]])

, на выходе будет a = [1,2,3], [4,5,6], [7,8,9]

используя слайс [start: endindex: stepindex], как я могу получить 3 и 7?

возможно ли это?

Я пытался

a[:3:2]

это дало мне 1-й ряд и третий ряд

1 Ответ

1 голос
/ 28 апреля 2020
In [928]: a = np.array([[1,2,3],[4,5,6],[7,8,9]])                                                      
In [929]: a                                                                                            
Out[929]: 
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

[3,7] не является обычным шаблоном в этом 2d массиве. Но его плоский вид:

In [931]: a.ravel()                                                                                    
Out[931]: array([1, 2, 3, 4, 5, 6, 7, 8, 9])
In [932]: a.ravel()[2::4]                                                                              
Out[932]: array([3, 7])
In [933]: a.flat[2::4]                                                                                 
Out[933]: array([3, 7])

Теперь гарантируйте, что он может быть расширен для больших массивов и выборок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...