How to fix the order of columns in dict












0















I have a series which I grouped and now I want to save that series as csv file with both index and values as two columns(Index followed by values).



So I first tried to covert the series as dataframe and then save the data frame as csv.



s_group_count=df_page_concat.groupby(df_page_concat).count()
df_grouped_values=pd.DataFrame({"page_path":s_group_count.index,"count":s_group_count.values})


Problem is since it is using dict to create a dataframe and that dicts are not ordered, it is adding the count which is the value of series as the first column in dataframe while I want the Index as first column and values (count) as second column.



Any advise how to fix the order and if this is the most optimal way to create a csv out of series with index stored as another column?










share|improve this question























  • Not sure I understand. Why I would covert the dataframe to dict when I am converting a dict to dataframe and then to csv?

    – Baktaawar
    Nov 14 '18 at 18:27






  • 1





    You can reorder your columns with df=df[['Col1','Col2','Col3']] etc

    – G. Anderson
    Nov 14 '18 at 18:30











  • Why not use OrderedDict?

    – l'L'l
    Nov 14 '18 at 18:32











  • OrderedDict sa in

    – Baktaawar
    Nov 14 '18 at 18:44
















0















I have a series which I grouped and now I want to save that series as csv file with both index and values as two columns(Index followed by values).



So I first tried to covert the series as dataframe and then save the data frame as csv.



s_group_count=df_page_concat.groupby(df_page_concat).count()
df_grouped_values=pd.DataFrame({"page_path":s_group_count.index,"count":s_group_count.values})


Problem is since it is using dict to create a dataframe and that dicts are not ordered, it is adding the count which is the value of series as the first column in dataframe while I want the Index as first column and values (count) as second column.



Any advise how to fix the order and if this is the most optimal way to create a csv out of series with index stored as another column?










share|improve this question























  • Not sure I understand. Why I would covert the dataframe to dict when I am converting a dict to dataframe and then to csv?

    – Baktaawar
    Nov 14 '18 at 18:27






  • 1





    You can reorder your columns with df=df[['Col1','Col2','Col3']] etc

    – G. Anderson
    Nov 14 '18 at 18:30











  • Why not use OrderedDict?

    – l'L'l
    Nov 14 '18 at 18:32











  • OrderedDict sa in

    – Baktaawar
    Nov 14 '18 at 18:44














0












0








0








I have a series which I grouped and now I want to save that series as csv file with both index and values as two columns(Index followed by values).



So I first tried to covert the series as dataframe and then save the data frame as csv.



s_group_count=df_page_concat.groupby(df_page_concat).count()
df_grouped_values=pd.DataFrame({"page_path":s_group_count.index,"count":s_group_count.values})


Problem is since it is using dict to create a dataframe and that dicts are not ordered, it is adding the count which is the value of series as the first column in dataframe while I want the Index as first column and values (count) as second column.



Any advise how to fix the order and if this is the most optimal way to create a csv out of series with index stored as another column?










share|improve this question














I have a series which I grouped and now I want to save that series as csv file with both index and values as two columns(Index followed by values).



So I first tried to covert the series as dataframe and then save the data frame as csv.



s_group_count=df_page_concat.groupby(df_page_concat).count()
df_grouped_values=pd.DataFrame({"page_path":s_group_count.index,"count":s_group_count.values})


Problem is since it is using dict to create a dataframe and that dicts are not ordered, it is adding the count which is the value of series as the first column in dataframe while I want the Index as first column and values (count) as second column.



Any advise how to fix the order and if this is the most optimal way to create a csv out of series with index stored as another column?







python pandas






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 14 '18 at 18:24









BaktaawarBaktaawar

1,74493165




1,74493165













  • Not sure I understand. Why I would covert the dataframe to dict when I am converting a dict to dataframe and then to csv?

    – Baktaawar
    Nov 14 '18 at 18:27






  • 1





    You can reorder your columns with df=df[['Col1','Col2','Col3']] etc

    – G. Anderson
    Nov 14 '18 at 18:30











  • Why not use OrderedDict?

    – l'L'l
    Nov 14 '18 at 18:32











  • OrderedDict sa in

    – Baktaawar
    Nov 14 '18 at 18:44



















  • Not sure I understand. Why I would covert the dataframe to dict when I am converting a dict to dataframe and then to csv?

    – Baktaawar
    Nov 14 '18 at 18:27






  • 1





    You can reorder your columns with df=df[['Col1','Col2','Col3']] etc

    – G. Anderson
    Nov 14 '18 at 18:30











  • Why not use OrderedDict?

    – l'L'l
    Nov 14 '18 at 18:32











  • OrderedDict sa in

    – Baktaawar
    Nov 14 '18 at 18:44

















Not sure I understand. Why I would covert the dataframe to dict when I am converting a dict to dataframe and then to csv?

– Baktaawar
Nov 14 '18 at 18:27





Not sure I understand. Why I would covert the dataframe to dict when I am converting a dict to dataframe and then to csv?

– Baktaawar
Nov 14 '18 at 18:27




1




1





You can reorder your columns with df=df[['Col1','Col2','Col3']] etc

– G. Anderson
Nov 14 '18 at 18:30





You can reorder your columns with df=df[['Col1','Col2','Col3']] etc

– G. Anderson
Nov 14 '18 at 18:30













Why not use OrderedDict?

– l'L'l
Nov 14 '18 at 18:32





Why not use OrderedDict?

– l'L'l
Nov 14 '18 at 18:32













OrderedDict sa in

– Baktaawar
Nov 14 '18 at 18:44





OrderedDict sa in

– Baktaawar
Nov 14 '18 at 18:44












1 Answer
1






active

oldest

votes


















0














from collections import OrderedDict



This has been particularly helpful for me in groupby.agg operations, to enforce column order



So pass in



OrderedDict([("page_path",s_group_count.index),("count",s_group_count.values)])





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%2f53306565%2fhow-to-fix-the-order-of-columns-in-dict%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    from collections import OrderedDict



    This has been particularly helpful for me in groupby.agg operations, to enforce column order



    So pass in



    OrderedDict([("page_path",s_group_count.index),("count",s_group_count.values)])





    share|improve this answer




























      0














      from collections import OrderedDict



      This has been particularly helpful for me in groupby.agg operations, to enforce column order



      So pass in



      OrderedDict([("page_path",s_group_count.index),("count",s_group_count.values)])





      share|improve this answer


























        0












        0








        0







        from collections import OrderedDict



        This has been particularly helpful for me in groupby.agg operations, to enforce column order



        So pass in



        OrderedDict([("page_path",s_group_count.index),("count",s_group_count.values)])





        share|improve this answer













        from collections import OrderedDict



        This has been particularly helpful for me in groupby.agg operations, to enforce column order



        So pass in



        OrderedDict([("page_path",s_group_count.index),("count",s_group_count.values)])






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 14 '18 at 18:47









        spinodalspinodal

        502410




        502410
































            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%2f53306565%2fhow-to-fix-the-order-of-columns-in-dict%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

            Xamarin.iOS Cant Deploy on Iphone

            Glorious Revolution

            Dulmage-Mendelsohn matrix decomposition in Python