Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Insérer une matrice dans une autre à un endroit précis

+3 votes

Après quelques recherches j'ai uniquement lu des solutions pour concaténer (ou ajouter) des matrices dans des autres, mais pas pour en insérer une dans une autre à un endroit précis.

Exemple :

matrice_de_base = numpy.matrix([['A', 'A', 'A'],
                                ['A', 'A', 'A'],
                                ['A', 'A', 'A']])

seconde_matrice = numpy.matrix([['B', 'B'],
                                ['B', 'B']])

En considérant que matrice_finale est le résultat après avoir inséré seconde_matrice à la position (1, 1), soit au centre de matrice_de_base, voici ce que j'aimerais que print(matrice_finale) me donne :

[['A', 'A', 'A'],
 ['A', 'B', 'B'],
 ['A', 'B', 'B']]

Est-ce possible ?

NB : j'ai découvert numpy hier soir et Python il y a un an, soyez indulgents ^^

demandé 8-Mar-2016 par Epoc (392 points)
reclassée 8-Mar-2016 par Epoc

1 Réponse

+5 votes

Un slicing index est le plus simple à mon avis :

>>> matrice_de_base = numpy.matrix([['A', 'A', 'A'],
                            ['A', 'A', 'A'],
                            ['A', 'A', 'A']])
>>> seconde_matrice = numpy.matrix([['B', 'B'],
                            ['B', 'B']])
>>> matrice_de_base[1:, 1:] = seconde_matrice
>>> matrice_de_base
matrix([['A', 'A', 'A'],
        ['A', 'B', 'B'],
        ['A', 'B', 'B']], 
        dtype='|S1')

Le lien que je t'ai donné explique assez bien les choses (c'est en anglais mais malheureusement on n'y coupe pas).

répondu 8-Mar-2016 par Abject (148 points)
edité 8-Mar-2016 par Abject
...