overriding partially an numpy array does not work












2














I tried to override a numpy array partially



enter image description here



does anyone know how to do that in such comfort indexing way?



Thanks!










share|improve this question



























    2














    I tried to override a numpy array partially



    enter image description here



    does anyone know how to do that in such comfort indexing way?



    Thanks!










    share|improve this question

























      2












      2








      2







      I tried to override a numpy array partially



      enter image description here



      does anyone know how to do that in such comfort indexing way?



      Thanks!










      share|improve this question













      I tried to override a numpy array partially



      enter image description here



      does anyone know how to do that in such comfort indexing way?



      Thanks!







      python numpy numpy-ndarray






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 20 '18 at 19:19









      malocho

      3618




      3618
























          2 Answers
          2






          active

          oldest

          votes


















          1














          Setup



          a = np.array([[1,2,3], [1,1,1], [1,1,1]])
          b = np.array([[888,888], [99, 99]])




          You are operating on a copy of the array, so the modifications are not persisted, use numpy.ix_ here:



          >>> a[np.ix_([1,2], [0,1])] = b
          >>> a
          array([[ 1, 2, 3],
          [888, 888, 1],
          [ 99, 99, 1]])





          share|improve this answer





























            2














            You can also use this sort of indexing with the : separating your starting and ending indices:



            >>> a = np.array([[1,2,3], [1,1,1], [1,1,1]])
            # 1: and :2 all_indices_after_1 and all_indices_before_2 respectively
            >>> a[1:,:2] = np.array([[888,888], [99, 99]])
            >>> a
            array([[ 1, 2, 3],
            [888, 888, 1],
            [ 99, 99, 1]])





            share|improve this answer























              Your Answer






              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "1"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53400063%2foverriding-partially-an-numpy-array-does-not-work%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              1














              Setup



              a = np.array([[1,2,3], [1,1,1], [1,1,1]])
              b = np.array([[888,888], [99, 99]])




              You are operating on a copy of the array, so the modifications are not persisted, use numpy.ix_ here:



              >>> a[np.ix_([1,2], [0,1])] = b
              >>> a
              array([[ 1, 2, 3],
              [888, 888, 1],
              [ 99, 99, 1]])





              share|improve this answer


























                1














                Setup



                a = np.array([[1,2,3], [1,1,1], [1,1,1]])
                b = np.array([[888,888], [99, 99]])




                You are operating on a copy of the array, so the modifications are not persisted, use numpy.ix_ here:



                >>> a[np.ix_([1,2], [0,1])] = b
                >>> a
                array([[ 1, 2, 3],
                [888, 888, 1],
                [ 99, 99, 1]])





                share|improve this answer
























                  1












                  1








                  1






                  Setup



                  a = np.array([[1,2,3], [1,1,1], [1,1,1]])
                  b = np.array([[888,888], [99, 99]])




                  You are operating on a copy of the array, so the modifications are not persisted, use numpy.ix_ here:



                  >>> a[np.ix_([1,2], [0,1])] = b
                  >>> a
                  array([[ 1, 2, 3],
                  [888, 888, 1],
                  [ 99, 99, 1]])





                  share|improve this answer












                  Setup



                  a = np.array([[1,2,3], [1,1,1], [1,1,1]])
                  b = np.array([[888,888], [99, 99]])




                  You are operating on a copy of the array, so the modifications are not persisted, use numpy.ix_ here:



                  >>> a[np.ix_([1,2], [0,1])] = b
                  >>> a
                  array([[ 1, 2, 3],
                  [888, 888, 1],
                  [ 99, 99, 1]])






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 20 '18 at 19:26









                  user3483203

                  30.2k82354




                  30.2k82354

























                      2














                      You can also use this sort of indexing with the : separating your starting and ending indices:



                      >>> a = np.array([[1,2,3], [1,1,1], [1,1,1]])
                      # 1: and :2 all_indices_after_1 and all_indices_before_2 respectively
                      >>> a[1:,:2] = np.array([[888,888], [99, 99]])
                      >>> a
                      array([[ 1, 2, 3],
                      [888, 888, 1],
                      [ 99, 99, 1]])





                      share|improve this answer




























                        2














                        You can also use this sort of indexing with the : separating your starting and ending indices:



                        >>> a = np.array([[1,2,3], [1,1,1], [1,1,1]])
                        # 1: and :2 all_indices_after_1 and all_indices_before_2 respectively
                        >>> a[1:,:2] = np.array([[888,888], [99, 99]])
                        >>> a
                        array([[ 1, 2, 3],
                        [888, 888, 1],
                        [ 99, 99, 1]])





                        share|improve this answer


























                          2












                          2








                          2






                          You can also use this sort of indexing with the : separating your starting and ending indices:



                          >>> a = np.array([[1,2,3], [1,1,1], [1,1,1]])
                          # 1: and :2 all_indices_after_1 and all_indices_before_2 respectively
                          >>> a[1:,:2] = np.array([[888,888], [99, 99]])
                          >>> a
                          array([[ 1, 2, 3],
                          [888, 888, 1],
                          [ 99, 99, 1]])





                          share|improve this answer














                          You can also use this sort of indexing with the : separating your starting and ending indices:



                          >>> a = np.array([[1,2,3], [1,1,1], [1,1,1]])
                          # 1: and :2 all_indices_after_1 and all_indices_before_2 respectively
                          >>> a[1:,:2] = np.array([[888,888], [99, 99]])
                          >>> a
                          array([[ 1, 2, 3],
                          [888, 888, 1],
                          [ 99, 99, 1]])






                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Nov 20 '18 at 19:41

























                          answered Nov 20 '18 at 19:29









                          sacul

                          29.9k41740




                          29.9k41740






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.





                              Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                              Please pay close attention to the following guidance:


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53400063%2foverriding-partially-an-numpy-array-does-not-work%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Create new schema in PostgreSQL using DBeaver

                              Deepest pit of an array with Javascript: test on Codility

                              Costa Masnaga