Convert dataframe into dictionary












8















I have a dataframe and i want it to select a few columns and convert it into Dictionary in the a certain manner



Dataframe:



Dataframe :



and here's the output I want



{20: [4.6, 4.3, 4.3, 20],
21: [4.6, 4.3, 4.3, 21],
22: [6.0, 5.6, 9.0, 22],
23: [8.75, 5.6, 6.6, 23]}


I have tried this



items_dic = data[["Length","Width","Height","Pid" ]].set_index('Pid').T.to_dict('list')

items_dic = {20: [4.6, 4.3, 4.3],
21: [4.6, 4.3, 4.3],
22: [6.0, 5.6, 9.0],
23: [8.75, 5.6, 6.6]}


but this does not include Pid in the list of values
Can someone explain why ?










share|improve this question









New contributor




Rahul Sharma is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1





    Please, write the dataframe in proper format, not in picture.

    – pistol2myhead
    17 hours ago











  • I am sorry but I am fairly new to SO and I don't know how to do that

    – Rahul Sharma
    17 hours ago






  • 2





    drop=False in set_index is what you need

    – Sreeram TP
    17 hours ago
















8















I have a dataframe and i want it to select a few columns and convert it into Dictionary in the a certain manner



Dataframe:



Dataframe :



and here's the output I want



{20: [4.6, 4.3, 4.3, 20],
21: [4.6, 4.3, 4.3, 21],
22: [6.0, 5.6, 9.0, 22],
23: [8.75, 5.6, 6.6, 23]}


I have tried this



items_dic = data[["Length","Width","Height","Pid" ]].set_index('Pid').T.to_dict('list')

items_dic = {20: [4.6, 4.3, 4.3],
21: [4.6, 4.3, 4.3],
22: [6.0, 5.6, 9.0],
23: [8.75, 5.6, 6.6]}


but this does not include Pid in the list of values
Can someone explain why ?










share|improve this question









New contributor




Rahul Sharma is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1





    Please, write the dataframe in proper format, not in picture.

    – pistol2myhead
    17 hours ago











  • I am sorry but I am fairly new to SO and I don't know how to do that

    – Rahul Sharma
    17 hours ago






  • 2





    drop=False in set_index is what you need

    – Sreeram TP
    17 hours ago














8












8








8








I have a dataframe and i want it to select a few columns and convert it into Dictionary in the a certain manner



Dataframe:



Dataframe :



and here's the output I want



{20: [4.6, 4.3, 4.3, 20],
21: [4.6, 4.3, 4.3, 21],
22: [6.0, 5.6, 9.0, 22],
23: [8.75, 5.6, 6.6, 23]}


I have tried this



items_dic = data[["Length","Width","Height","Pid" ]].set_index('Pid').T.to_dict('list')

items_dic = {20: [4.6, 4.3, 4.3],
21: [4.6, 4.3, 4.3],
22: [6.0, 5.6, 9.0],
23: [8.75, 5.6, 6.6]}


but this does not include Pid in the list of values
Can someone explain why ?










share|improve this question









New contributor




Rahul Sharma is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












I have a dataframe and i want it to select a few columns and convert it into Dictionary in the a certain manner



Dataframe:



Dataframe :



and here's the output I want



{20: [4.6, 4.3, 4.3, 20],
21: [4.6, 4.3, 4.3, 21],
22: [6.0, 5.6, 9.0, 22],
23: [8.75, 5.6, 6.6, 23]}


I have tried this



items_dic = data[["Length","Width","Height","Pid" ]].set_index('Pid').T.to_dict('list')

items_dic = {20: [4.6, 4.3, 4.3],
21: [4.6, 4.3, 4.3],
22: [6.0, 5.6, 9.0],
23: [8.75, 5.6, 6.6]}


but this does not include Pid in the list of values
Can someone explain why ?







python python-3.x pandas dictionary






share|improve this question









New contributor




Rahul Sharma is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Rahul Sharma is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 17 hours ago









jezrael

346k25301374




346k25301374






New contributor




Rahul Sharma is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 17 hours ago









Rahul SharmaRahul Sharma

957




957




New contributor




Rahul Sharma is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Rahul Sharma is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Rahul Sharma is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 1





    Please, write the dataframe in proper format, not in picture.

    – pistol2myhead
    17 hours ago











  • I am sorry but I am fairly new to SO and I don't know how to do that

    – Rahul Sharma
    17 hours ago






  • 2





    drop=False in set_index is what you need

    – Sreeram TP
    17 hours ago














  • 1





    Please, write the dataframe in proper format, not in picture.

    – pistol2myhead
    17 hours ago











  • I am sorry but I am fairly new to SO and I don't know how to do that

    – Rahul Sharma
    17 hours ago






  • 2





    drop=False in set_index is what you need

    – Sreeram TP
    17 hours ago








1




1





Please, write the dataframe in proper format, not in picture.

– pistol2myhead
17 hours ago





Please, write the dataframe in proper format, not in picture.

– pistol2myhead
17 hours ago













I am sorry but I am fairly new to SO and I don't know how to do that

– Rahul Sharma
17 hours ago





I am sorry but I am fairly new to SO and I don't know how to do that

– Rahul Sharma
17 hours ago




2




2





drop=False in set_index is what you need

– Sreeram TP
17 hours ago





drop=False in set_index is what you need

– Sreeram TP
17 hours ago












2 Answers
2






active

oldest

votes


















9














Set parameter drop=False in DataFrame.set_index, because default parameter drop=False move column to index:



cols = ["Length","Width","Height","Pid"]
items_dic = data[cols].set_index('Pid', drop=False).T.to_dict('list')

print (items_dic)

{20: [4.6, 4.3, 4.3, 20.0],
21: [4.6, 4.3, 4.3, 21.0],
22: [6.0, 5.6, 9.0, 22.0],
23: [8.75, 5.6, 6.6, 23.0]}





share|improve this answer

































    6














    Or use dict(zip(...)):



    >>> cols = ["Length","Width","Height","Pid"]
    >>> items_dic = dict(zip(df['Pid'],df[cols].values.tolist()))
    >>> items_dic
    {20: [4.8, 4.3, 4.3, 20.0], 21: [4.8, 4.3, 4.3, 21.0], 22: [6.0, 5.6, 9.0, 22.0], 23: [8.75, 5.6, 6.6, 23.0], 24: [6.0, 5.16, 6.6, 24.0]}
    >>>





    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
      });


      }
      });






      Rahul Sharma is a new contributor. Be nice, and check out our Code of Conduct.










      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55115214%2fconvert-dataframe-into-dictionary%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









      9














      Set parameter drop=False in DataFrame.set_index, because default parameter drop=False move column to index:



      cols = ["Length","Width","Height","Pid"]
      items_dic = data[cols].set_index('Pid', drop=False).T.to_dict('list')

      print (items_dic)

      {20: [4.6, 4.3, 4.3, 20.0],
      21: [4.6, 4.3, 4.3, 21.0],
      22: [6.0, 5.6, 9.0, 22.0],
      23: [8.75, 5.6, 6.6, 23.0]}





      share|improve this answer






























        9














        Set parameter drop=False in DataFrame.set_index, because default parameter drop=False move column to index:



        cols = ["Length","Width","Height","Pid"]
        items_dic = data[cols].set_index('Pid', drop=False).T.to_dict('list')

        print (items_dic)

        {20: [4.6, 4.3, 4.3, 20.0],
        21: [4.6, 4.3, 4.3, 21.0],
        22: [6.0, 5.6, 9.0, 22.0],
        23: [8.75, 5.6, 6.6, 23.0]}





        share|improve this answer




























          9












          9








          9







          Set parameter drop=False in DataFrame.set_index, because default parameter drop=False move column to index:



          cols = ["Length","Width","Height","Pid"]
          items_dic = data[cols].set_index('Pid', drop=False).T.to_dict('list')

          print (items_dic)

          {20: [4.6, 4.3, 4.3, 20.0],
          21: [4.6, 4.3, 4.3, 21.0],
          22: [6.0, 5.6, 9.0, 22.0],
          23: [8.75, 5.6, 6.6, 23.0]}





          share|improve this answer















          Set parameter drop=False in DataFrame.set_index, because default parameter drop=False move column to index:



          cols = ["Length","Width","Height","Pid"]
          items_dic = data[cols].set_index('Pid', drop=False).T.to_dict('list')

          print (items_dic)

          {20: [4.6, 4.3, 4.3, 20.0],
          21: [4.6, 4.3, 4.3, 21.0],
          22: [6.0, 5.6, 9.0, 22.0],
          23: [8.75, 5.6, 6.6, 23.0]}






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 17 hours ago

























          answered 17 hours ago









          jezraeljezrael

          346k25301374




          346k25301374

























              6














              Or use dict(zip(...)):



              >>> cols = ["Length","Width","Height","Pid"]
              >>> items_dic = dict(zip(df['Pid'],df[cols].values.tolist()))
              >>> items_dic
              {20: [4.8, 4.3, 4.3, 20.0], 21: [4.8, 4.3, 4.3, 21.0], 22: [6.0, 5.6, 9.0, 22.0], 23: [8.75, 5.6, 6.6, 23.0], 24: [6.0, 5.16, 6.6, 24.0]}
              >>>





              share|improve this answer






























                6














                Or use dict(zip(...)):



                >>> cols = ["Length","Width","Height","Pid"]
                >>> items_dic = dict(zip(df['Pid'],df[cols].values.tolist()))
                >>> items_dic
                {20: [4.8, 4.3, 4.3, 20.0], 21: [4.8, 4.3, 4.3, 21.0], 22: [6.0, 5.6, 9.0, 22.0], 23: [8.75, 5.6, 6.6, 23.0], 24: [6.0, 5.16, 6.6, 24.0]}
                >>>





                share|improve this answer




























                  6












                  6








                  6







                  Or use dict(zip(...)):



                  >>> cols = ["Length","Width","Height","Pid"]
                  >>> items_dic = dict(zip(df['Pid'],df[cols].values.tolist()))
                  >>> items_dic
                  {20: [4.8, 4.3, 4.3, 20.0], 21: [4.8, 4.3, 4.3, 21.0], 22: [6.0, 5.6, 9.0, 22.0], 23: [8.75, 5.6, 6.6, 23.0], 24: [6.0, 5.16, 6.6, 24.0]}
                  >>>





                  share|improve this answer















                  Or use dict(zip(...)):



                  >>> cols = ["Length","Width","Height","Pid"]
                  >>> items_dic = dict(zip(df['Pid'],df[cols].values.tolist()))
                  >>> items_dic
                  {20: [4.8, 4.3, 4.3, 20.0], 21: [4.8, 4.3, 4.3, 21.0], 22: [6.0, 5.6, 9.0, 22.0], 23: [8.75, 5.6, 6.6, 23.0], 24: [6.0, 5.16, 6.6, 24.0]}
                  >>>






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 15 hours ago









                  Mudits

                  6641928




                  6641928










                  answered 17 hours ago









                  U9-ForwardU9-Forward

                  16.5k51543




                  16.5k51543






















                      Rahul Sharma is a new contributor. Be nice, and check out our Code of Conduct.










                      draft saved

                      draft discarded


















                      Rahul Sharma is a new contributor. Be nice, and check out our Code of Conduct.













                      Rahul Sharma is a new contributor. Be nice, and check out our Code of Conduct.












                      Rahul Sharma is a new contributor. Be nice, and check out our Code of Conduct.
















                      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%2f55115214%2fconvert-dataframe-into-dictionary%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

                      How to label and detect the document text images

                      Vallis Paradisi

                      Tabula Rosettana