DataFrame transform column values to new columns





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I have following series:



project   id        type
First 130403725 PRODUCT 68
EMPTY 2
Six 130405706 PRODUCT 24
132517244 PRODUCT 33
132607436 PRODUCT 87


How I can transform type values to new columns:



                   PRODUCT  EMPTY
project id
First 130403725 68 2
Six 130405706 24 0
132517244 33 0
132607436 87 0









share|improve this question





























    0















    I have following series:



    project   id        type
    First 130403725 PRODUCT 68
    EMPTY 2
    Six 130405706 PRODUCT 24
    132517244 PRODUCT 33
    132607436 PRODUCT 87


    How I can transform type values to new columns:



                       PRODUCT  EMPTY
    project id
    First 130403725 68 2
    Six 130405706 24 0
    132517244 33 0
    132607436 87 0









    share|improve this question

























      0












      0








      0








      I have following series:



      project   id        type
      First 130403725 PRODUCT 68
      EMPTY 2
      Six 130405706 PRODUCT 24
      132517244 PRODUCT 33
      132607436 PRODUCT 87


      How I can transform type values to new columns:



                         PRODUCT  EMPTY
      project id
      First 130403725 68 2
      Six 130405706 24 0
      132517244 33 0
      132607436 87 0









      share|improve this question














      I have following series:



      project   id        type
      First 130403725 PRODUCT 68
      EMPTY 2
      Six 130405706 PRODUCT 24
      132517244 PRODUCT 33
      132607436 PRODUCT 87


      How I can transform type values to new columns:



                         PRODUCT  EMPTY
      project id
      First 130403725 68 2
      Six 130405706 24 0
      132517244 33 0
      132607436 87 0






      python dataframe






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 23 '18 at 11:01









      Night WalkerNight Walker

      8,36340131201




      8,36340131201
























          2 Answers
          2






          active

          oldest

          votes


















          1














          Use unstack, because MultiIndex Series:



          s1 = s.unstack(fill_value=0)
          print (s1)
          type EMPTY PRODUCT
          project id
          First 130403725 2 68
          Six 130405706 0 24
          132517244 0 33
          132607436 0 87


          For DataFrame:



          df = s.unstack(fill_value=0).reset_index().rename_axis(None, axis=1)
          print (df)
          project id EMPTY PRODUCT
          0 First 130403725 2 68
          1 Six 130405706 0 24
          2 Six 132517244 0 33
          3 Six 132607436 0 87





          share|improve this answer

































            3














            This is a classic pivot table:



            df_pivoted = df.pivot(index=["project", "id"], columns=["type"], values=[3])


            I've used 3 as the index of the value column but it would be more clear if you would have named it.






            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%2f53445436%2fdataframe-transform-column-values-to-new-columns%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














              Use unstack, because MultiIndex Series:



              s1 = s.unstack(fill_value=0)
              print (s1)
              type EMPTY PRODUCT
              project id
              First 130403725 2 68
              Six 130405706 0 24
              132517244 0 33
              132607436 0 87


              For DataFrame:



              df = s.unstack(fill_value=0).reset_index().rename_axis(None, axis=1)
              print (df)
              project id EMPTY PRODUCT
              0 First 130403725 2 68
              1 Six 130405706 0 24
              2 Six 132517244 0 33
              3 Six 132607436 0 87





              share|improve this answer






























                1














                Use unstack, because MultiIndex Series:



                s1 = s.unstack(fill_value=0)
                print (s1)
                type EMPTY PRODUCT
                project id
                First 130403725 2 68
                Six 130405706 0 24
                132517244 0 33
                132607436 0 87


                For DataFrame:



                df = s.unstack(fill_value=0).reset_index().rename_axis(None, axis=1)
                print (df)
                project id EMPTY PRODUCT
                0 First 130403725 2 68
                1 Six 130405706 0 24
                2 Six 132517244 0 33
                3 Six 132607436 0 87





                share|improve this answer




























                  1












                  1








                  1







                  Use unstack, because MultiIndex Series:



                  s1 = s.unstack(fill_value=0)
                  print (s1)
                  type EMPTY PRODUCT
                  project id
                  First 130403725 2 68
                  Six 130405706 0 24
                  132517244 0 33
                  132607436 0 87


                  For DataFrame:



                  df = s.unstack(fill_value=0).reset_index().rename_axis(None, axis=1)
                  print (df)
                  project id EMPTY PRODUCT
                  0 First 130403725 2 68
                  1 Six 130405706 0 24
                  2 Six 132517244 0 33
                  3 Six 132607436 0 87





                  share|improve this answer















                  Use unstack, because MultiIndex Series:



                  s1 = s.unstack(fill_value=0)
                  print (s1)
                  type EMPTY PRODUCT
                  project id
                  First 130403725 2 68
                  Six 130405706 0 24
                  132517244 0 33
                  132607436 0 87


                  For DataFrame:



                  df = s.unstack(fill_value=0).reset_index().rename_axis(None, axis=1)
                  print (df)
                  project id EMPTY PRODUCT
                  0 First 130403725 2 68
                  1 Six 130405706 0 24
                  2 Six 132517244 0 33
                  3 Six 132607436 0 87






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Nov 23 '18 at 11:23

























                  answered Nov 23 '18 at 11:07









                  jezraeljezrael

                  355k26319395




                  355k26319395

























                      3














                      This is a classic pivot table:



                      df_pivoted = df.pivot(index=["project", "id"], columns=["type"], values=[3])


                      I've used 3 as the index of the value column but it would be more clear if you would have named it.






                      share|improve this answer




























                        3














                        This is a classic pivot table:



                        df_pivoted = df.pivot(index=["project", "id"], columns=["type"], values=[3])


                        I've used 3 as the index of the value column but it would be more clear if you would have named it.






                        share|improve this answer


























                          3












                          3








                          3







                          This is a classic pivot table:



                          df_pivoted = df.pivot(index=["project", "id"], columns=["type"], values=[3])


                          I've used 3 as the index of the value column but it would be more clear if you would have named it.






                          share|improve this answer













                          This is a classic pivot table:



                          df_pivoted = df.pivot(index=["project", "id"], columns=["type"], values=[3])


                          I've used 3 as the index of the value column but it would be more clear if you would have named it.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Nov 23 '18 at 11:04









                          johnpatonjohnpaton

                          30517




                          30517






























                              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.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53445436%2fdataframe-transform-column-values-to-new-columns%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

                              "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

                              Alcedinidae

                              Origin of the phrase “under your belt”?