Aggregate method and lambda function2019 Community Moderator ElectionDifference between append vs. extend list methods in PythonUsing global variables in a functionUnderstanding Python super() with __init__() methodsHow to make a chain of function decorators?Does Python have a string 'contains' substring method?Adding new column to existing DataFrame in Python pandasHow can I replace all the NaN values with Zero's in a column of a pandas dataframe“Large data” work flows using pandasChange data type of columns in PandasGet list from pandas DataFrame column headers

Why does Deadpool say "You're welcome, Canada," after shooting Ryan Reynolds in the end credits?

The bar has been raised

Low budget alien movie about the Earth being cooked

What is the chance of making a successful appeal to dismissal decision from a PhD program after failing the qualifying exam in the 2nd attempt?

Things to avoid when using voltage regulators?

Virginia employer terminated employee and wants signing bonus returned

Offered promotion but I'm leaving. Should I tell?

How much stiffer are 23c tires over 28c?

What wound would be of little consequence to a biped but terrible for a quadruped?

Does "variables should live in the smallest scope as possible" include the case "variables should not exist if possible"?

MTG: Can I kill an opponent in response to lethal activated abilities, and not take the damage?

Rejected in 4th interview round citing insufficient years of experience

How much attack damage does the AC boost from a shield prevent on average?

They call me Inspector Morse

How do I deal with a powergamer in a game full of beginners in a school club?

Force user to remove USB token

Good for you! in Russian

In the late 1940’s to early 1950’s what technology was available that could melt a LOT of ice?

Why does the negative sign arise in this thermodynamic relation?

Reverse string, can I make it faster?

What to do when during a meeting client people start to fight (even physically) with each others?

Making a sword in the stone, in a medieval world without magic

Should QA ask requirements to developers?

"One can do his homework in the library"



Aggregate method and lambda function



2019 Community Moderator ElectionDifference between append vs. extend list methods in PythonUsing global variables in a functionUnderstanding Python super() with __init__() methodsHow to make a chain of function decorators?Does Python have a string 'contains' substring method?Adding new column to existing DataFrame in Python pandasHow can I replace all the NaN values with Zero's in a column of a pandas dataframe“Large data” work flows using pandasChange data type of columns in PandasGet list from pandas DataFrame column headers










1















I have a dataframe df and would like to get the ID list for each class:



import pandas as pd
list1 = [[1, ('A', 'B', 'C')], [2, ('M', 'E', 'F')], [3, ('H', 'A', 'D')], [4, ('H', 'A', 'D')]]
df = pd.DataFrame(list1, columns=['ID', 'Class'])


df looks like



ID Class
1 (A, B, C)
2 (M, E, F)
3 (H, A, D)
4 (H, A, D)


The desired output is:



Class ID 
(A, B, C) [1]
(M, E, F) [2]
(H, A, D) [3, 4]


I tried to use the code below, but it is not working. Thanks.



df.groupby('Class')['ID'].aggregate(lambda x: list(x))









share|improve this question

















  • 1





    lambda x: list(x) is equivalent to list, but with more runtime overhead.

    – chepner
    Mar 6 at 16:34















1















I have a dataframe df and would like to get the ID list for each class:



import pandas as pd
list1 = [[1, ('A', 'B', 'C')], [2, ('M', 'E', 'F')], [3, ('H', 'A', 'D')], [4, ('H', 'A', 'D')]]
df = pd.DataFrame(list1, columns=['ID', 'Class'])


df looks like



ID Class
1 (A, B, C)
2 (M, E, F)
3 (H, A, D)
4 (H, A, D)


The desired output is:



Class ID 
(A, B, C) [1]
(M, E, F) [2]
(H, A, D) [3, 4]


I tried to use the code below, but it is not working. Thanks.



df.groupby('Class')['ID'].aggregate(lambda x: list(x))









share|improve this question

















  • 1





    lambda x: list(x) is equivalent to list, but with more runtime overhead.

    – chepner
    Mar 6 at 16:34













1












1








1








I have a dataframe df and would like to get the ID list for each class:



import pandas as pd
list1 = [[1, ('A', 'B', 'C')], [2, ('M', 'E', 'F')], [3, ('H', 'A', 'D')], [4, ('H', 'A', 'D')]]
df = pd.DataFrame(list1, columns=['ID', 'Class'])


df looks like



ID Class
1 (A, B, C)
2 (M, E, F)
3 (H, A, D)
4 (H, A, D)


The desired output is:



Class ID 
(A, B, C) [1]
(M, E, F) [2]
(H, A, D) [3, 4]


I tried to use the code below, but it is not working. Thanks.



df.groupby('Class')['ID'].aggregate(lambda x: list(x))









share|improve this question














I have a dataframe df and would like to get the ID list for each class:



import pandas as pd
list1 = [[1, ('A', 'B', 'C')], [2, ('M', 'E', 'F')], [3, ('H', 'A', 'D')], [4, ('H', 'A', 'D')]]
df = pd.DataFrame(list1, columns=['ID', 'Class'])


df looks like



ID Class
1 (A, B, C)
2 (M, E, F)
3 (H, A, D)
4 (H, A, D)


The desired output is:



Class ID 
(A, B, C) [1]
(M, E, F) [2]
(H, A, D) [3, 4]


I tried to use the code below, but it is not working. Thanks.



df.groupby('Class')['ID'].aggregate(lambda x: list(x))






python pandas






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 6 at 16:29









Steve PSteve P

686




686







  • 1





    lambda x: list(x) is equivalent to list, but with more runtime overhead.

    – chepner
    Mar 6 at 16:34












  • 1





    lambda x: list(x) is equivalent to list, but with more runtime overhead.

    – chepner
    Mar 6 at 16:34







1




1





lambda x: list(x) is equivalent to list, but with more runtime overhead.

– chepner
Mar 6 at 16:34





lambda x: list(x) is equivalent to list, but with more runtime overhead.

– chepner
Mar 6 at 16:34












2 Answers
2






active

oldest

votes


















1














lot of solutions here one:



df = df.groupby('Class')['ID'].apply(list).reset_index()

Class ID
0 (A, B, C) [1]
1 (H, A, D) [3, 4]
2 (M, E, F) [2]





share|improve this answer






























    3














    You should using



    df.groupby('Class').ID.agg(list).reset_index()
    Out[473]:
    Class ID
    0 (A, B, C) [1]
    1 (H, A, D) [3, 4]
    2 (M, E, F) [2]


    To fix your code



    df.groupby('Class')['ID'].aggregate(lambda x: x.tolist())





    share|improve this answer























    • Hi Wenben, I got some error message. When I run df.groupby('Class').ID.agg(list).reset_index(), it says TypeError: 'type' object is not iterable.

      – Steve P
      Mar 6 at 16:45











    • When I run df.groupby('Class')['ID'].aggregate(lambda x: x.tolist()), it says ValueError: Length of names must match number of levels in MultiIndex.

      – Steve P
      Mar 6 at 16:46











    • @SteveP make sure that is tuple or list? Incolumn class

      – Wen-Ben
      Mar 6 at 16:50











    • Hi Wen-Ben, column Class such as (A, B, C) is a tuple.

      – Steve P
      Mar 6 at 16:51












    • @SteveP if it is same like what you show to us , my query should work

      – Wen-Ben
      Mar 6 at 17:06










    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%2f55027910%2faggregate-method-and-lambda-function%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














    lot of solutions here one:



    df = df.groupby('Class')['ID'].apply(list).reset_index()

    Class ID
    0 (A, B, C) [1]
    1 (H, A, D) [3, 4]
    2 (M, E, F) [2]





    share|improve this answer



























      1














      lot of solutions here one:



      df = df.groupby('Class')['ID'].apply(list).reset_index()

      Class ID
      0 (A, B, C) [1]
      1 (H, A, D) [3, 4]
      2 (M, E, F) [2]





      share|improve this answer

























        1












        1








        1







        lot of solutions here one:



        df = df.groupby('Class')['ID'].apply(list).reset_index()

        Class ID
        0 (A, B, C) [1]
        1 (H, A, D) [3, 4]
        2 (M, E, F) [2]





        share|improve this answer













        lot of solutions here one:



        df = df.groupby('Class')['ID'].apply(list).reset_index()

        Class ID
        0 (A, B, C) [1]
        1 (H, A, D) [3, 4]
        2 (M, E, F) [2]






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 6 at 16:36









        FrenchyFrenchy

        1,3422414




        1,3422414























            3














            You should using



            df.groupby('Class').ID.agg(list).reset_index()
            Out[473]:
            Class ID
            0 (A, B, C) [1]
            1 (H, A, D) [3, 4]
            2 (M, E, F) [2]


            To fix your code



            df.groupby('Class')['ID'].aggregate(lambda x: x.tolist())





            share|improve this answer























            • Hi Wenben, I got some error message. When I run df.groupby('Class').ID.agg(list).reset_index(), it says TypeError: 'type' object is not iterable.

              – Steve P
              Mar 6 at 16:45











            • When I run df.groupby('Class')['ID'].aggregate(lambda x: x.tolist()), it says ValueError: Length of names must match number of levels in MultiIndex.

              – Steve P
              Mar 6 at 16:46











            • @SteveP make sure that is tuple or list? Incolumn class

              – Wen-Ben
              Mar 6 at 16:50











            • Hi Wen-Ben, column Class such as (A, B, C) is a tuple.

              – Steve P
              Mar 6 at 16:51












            • @SteveP if it is same like what you show to us , my query should work

              – Wen-Ben
              Mar 6 at 17:06















            3














            You should using



            df.groupby('Class').ID.agg(list).reset_index()
            Out[473]:
            Class ID
            0 (A, B, C) [1]
            1 (H, A, D) [3, 4]
            2 (M, E, F) [2]


            To fix your code



            df.groupby('Class')['ID'].aggregate(lambda x: x.tolist())





            share|improve this answer























            • Hi Wenben, I got some error message. When I run df.groupby('Class').ID.agg(list).reset_index(), it says TypeError: 'type' object is not iterable.

              – Steve P
              Mar 6 at 16:45











            • When I run df.groupby('Class')['ID'].aggregate(lambda x: x.tolist()), it says ValueError: Length of names must match number of levels in MultiIndex.

              – Steve P
              Mar 6 at 16:46











            • @SteveP make sure that is tuple or list? Incolumn class

              – Wen-Ben
              Mar 6 at 16:50











            • Hi Wen-Ben, column Class such as (A, B, C) is a tuple.

              – Steve P
              Mar 6 at 16:51












            • @SteveP if it is same like what you show to us , my query should work

              – Wen-Ben
              Mar 6 at 17:06













            3












            3








            3







            You should using



            df.groupby('Class').ID.agg(list).reset_index()
            Out[473]:
            Class ID
            0 (A, B, C) [1]
            1 (H, A, D) [3, 4]
            2 (M, E, F) [2]


            To fix your code



            df.groupby('Class')['ID'].aggregate(lambda x: x.tolist())





            share|improve this answer













            You should using



            df.groupby('Class').ID.agg(list).reset_index()
            Out[473]:
            Class ID
            0 (A, B, C) [1]
            1 (H, A, D) [3, 4]
            2 (M, E, F) [2]


            To fix your code



            df.groupby('Class')['ID'].aggregate(lambda x: x.tolist())






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Mar 6 at 16:32









            Wen-BenWen-Ben

            117k83369




            117k83369












            • Hi Wenben, I got some error message. When I run df.groupby('Class').ID.agg(list).reset_index(), it says TypeError: 'type' object is not iterable.

              – Steve P
              Mar 6 at 16:45











            • When I run df.groupby('Class')['ID'].aggregate(lambda x: x.tolist()), it says ValueError: Length of names must match number of levels in MultiIndex.

              – Steve P
              Mar 6 at 16:46











            • @SteveP make sure that is tuple or list? Incolumn class

              – Wen-Ben
              Mar 6 at 16:50











            • Hi Wen-Ben, column Class such as (A, B, C) is a tuple.

              – Steve P
              Mar 6 at 16:51












            • @SteveP if it is same like what you show to us , my query should work

              – Wen-Ben
              Mar 6 at 17:06

















            • Hi Wenben, I got some error message. When I run df.groupby('Class').ID.agg(list).reset_index(), it says TypeError: 'type' object is not iterable.

              – Steve P
              Mar 6 at 16:45











            • When I run df.groupby('Class')['ID'].aggregate(lambda x: x.tolist()), it says ValueError: Length of names must match number of levels in MultiIndex.

              – Steve P
              Mar 6 at 16:46











            • @SteveP make sure that is tuple or list? Incolumn class

              – Wen-Ben
              Mar 6 at 16:50











            • Hi Wen-Ben, column Class such as (A, B, C) is a tuple.

              – Steve P
              Mar 6 at 16:51












            • @SteveP if it is same like what you show to us , my query should work

              – Wen-Ben
              Mar 6 at 17:06
















            Hi Wenben, I got some error message. When I run df.groupby('Class').ID.agg(list).reset_index(), it says TypeError: 'type' object is not iterable.

            – Steve P
            Mar 6 at 16:45





            Hi Wenben, I got some error message. When I run df.groupby('Class').ID.agg(list).reset_index(), it says TypeError: 'type' object is not iterable.

            – Steve P
            Mar 6 at 16:45













            When I run df.groupby('Class')['ID'].aggregate(lambda x: x.tolist()), it says ValueError: Length of names must match number of levels in MultiIndex.

            – Steve P
            Mar 6 at 16:46





            When I run df.groupby('Class')['ID'].aggregate(lambda x: x.tolist()), it says ValueError: Length of names must match number of levels in MultiIndex.

            – Steve P
            Mar 6 at 16:46













            @SteveP make sure that is tuple or list? Incolumn class

            – Wen-Ben
            Mar 6 at 16:50





            @SteveP make sure that is tuple or list? Incolumn class

            – Wen-Ben
            Mar 6 at 16:50













            Hi Wen-Ben, column Class such as (A, B, C) is a tuple.

            – Steve P
            Mar 6 at 16:51






            Hi Wen-Ben, column Class such as (A, B, C) is a tuple.

            – Steve P
            Mar 6 at 16:51














            @SteveP if it is same like what you show to us , my query should work

            – Wen-Ben
            Mar 6 at 17:06





            @SteveP if it is same like what you show to us , my query should work

            – Wen-Ben
            Mar 6 at 17:06

















            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%2f55027910%2faggregate-method-and-lambda-function%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

            Save data to MySQL database using ExtJS and PHP [closed]2019 Community Moderator ElectionHow can I prevent SQL injection in PHP?Which MySQL data type to use for storing boolean valuesPHP: Delete an element from an arrayHow do I connect to a MySQL Database in Python?Should I use the datetime or timestamp data type in MySQL?How to get a list of MySQL user accountsHow Do You Parse and Process HTML/XML in PHP?Reference — What does this symbol mean in PHP?How does PHP 'foreach' actually work?Why shouldn't I use mysql_* functions in PHP?

            Compiling GNU Global with universal-ctags support Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!Tags for Emacs: Relationship between etags, ebrowse, cscope, GNU Global and exuberant ctagsVim and Ctags tips and trickscscope or ctags why choose one over the other?scons and ctagsctags cannot open option file “.ctags”Adding tag scopes in universal-ctagsShould I use Universal-ctags?Universal ctags on WindowsHow do I install GNU Global with universal ctags support using Homebrew?Universal ctags with emacsHow to highlight ctags generated by Universal Ctags in Vim?

            Add ONERROR event to image from jsp tldHow to add an image to a JPanel?Saving image from PHP URLHTML img scalingCheck if an image is loaded (no errors) with jQueryHow to force an <img> to take up width, even if the image is not loadedHow do I populate hidden form field with a value set in Spring ControllerStyling Raw elements Generated from JSP tagds with Jquery MobileLimit resizing of images with explicitly set width and height attributeserror TLD use in a jsp fileJsp tld files cannot be resolved