Aggregate numpy array dynamically (aggregation function is parameterized)












0















Aggregate a set of values with a parameterized aggregation function.



I have a numpy array of numeric values, and an aggregation function which is a parameter (options are sum, count, avg, max, min, etc.). How can I apply this aggregation function dynamically in the code ?



combined_vals_list = [1,2,3]
vals_df = pd.DataFrame({'values': combined_vals_list , 'group': [1]*len(combined_vals_list)})
agg_col_query_value =
vals_df.groupby('group').aggregate(agg).iloc[0,0]


the expected result is 6 and my code returns 6 , but this way of using pandas seem cumbersome.
Any better and more efficient simpler way ?










share|improve this question


















  • 2





    You can do something like a dict of strings to functions, but in Pandas you can also just write it like pd.Series([1, 2, 3]).aggregate('sum').

    – jdehesa
    Jan 3 at 12:58


















0















Aggregate a set of values with a parameterized aggregation function.



I have a numpy array of numeric values, and an aggregation function which is a parameter (options are sum, count, avg, max, min, etc.). How can I apply this aggregation function dynamically in the code ?



combined_vals_list = [1,2,3]
vals_df = pd.DataFrame({'values': combined_vals_list , 'group': [1]*len(combined_vals_list)})
agg_col_query_value =
vals_df.groupby('group').aggregate(agg).iloc[0,0]


the expected result is 6 and my code returns 6 , but this way of using pandas seem cumbersome.
Any better and more efficient simpler way ?










share|improve this question


















  • 2





    You can do something like a dict of strings to functions, but in Pandas you can also just write it like pd.Series([1, 2, 3]).aggregate('sum').

    – jdehesa
    Jan 3 at 12:58
















0












0








0








Aggregate a set of values with a parameterized aggregation function.



I have a numpy array of numeric values, and an aggregation function which is a parameter (options are sum, count, avg, max, min, etc.). How can I apply this aggregation function dynamically in the code ?



combined_vals_list = [1,2,3]
vals_df = pd.DataFrame({'values': combined_vals_list , 'group': [1]*len(combined_vals_list)})
agg_col_query_value =
vals_df.groupby('group').aggregate(agg).iloc[0,0]


the expected result is 6 and my code returns 6 , but this way of using pandas seem cumbersome.
Any better and more efficient simpler way ?










share|improve this question














Aggregate a set of values with a parameterized aggregation function.



I have a numpy array of numeric values, and an aggregation function which is a parameter (options are sum, count, avg, max, min, etc.). How can I apply this aggregation function dynamically in the code ?



combined_vals_list = [1,2,3]
vals_df = pd.DataFrame({'values': combined_vals_list , 'group': [1]*len(combined_vals_list)})
agg_col_query_value =
vals_df.groupby('group').aggregate(agg).iloc[0,0]


the expected result is 6 and my code returns 6 , but this way of using pandas seem cumbersome.
Any better and more efficient simpler way ?







python-3.x pandas numpy






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 3 at 11:42









RNNRNN

52




52








  • 2





    You can do something like a dict of strings to functions, but in Pandas you can also just write it like pd.Series([1, 2, 3]).aggregate('sum').

    – jdehesa
    Jan 3 at 12:58
















  • 2





    You can do something like a dict of strings to functions, but in Pandas you can also just write it like pd.Series([1, 2, 3]).aggregate('sum').

    – jdehesa
    Jan 3 at 12:58










2




2





You can do something like a dict of strings to functions, but in Pandas you can also just write it like pd.Series([1, 2, 3]).aggregate('sum').

– jdehesa
Jan 3 at 12:58







You can do something like a dict of strings to functions, but in Pandas you can also just write it like pd.Series([1, 2, 3]).aggregate('sum').

– jdehesa
Jan 3 at 12:58














1 Answer
1






active

oldest

votes


















0














it seems that pandas apparently the best way to achieve dynamic parameterized aggregation
pd.Series([1, 2, 3]).aggregate('sum') per jdehesa comment






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%2f54021598%2faggregate-numpy-array-dynamically-aggregation-function-is-parameterized%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














    it seems that pandas apparently the best way to achieve dynamic parameterized aggregation
    pd.Series([1, 2, 3]).aggregate('sum') per jdehesa comment






    share|improve this answer




























      0














      it seems that pandas apparently the best way to achieve dynamic parameterized aggregation
      pd.Series([1, 2, 3]).aggregate('sum') per jdehesa comment






      share|improve this answer


























        0












        0








        0







        it seems that pandas apparently the best way to achieve dynamic parameterized aggregation
        pd.Series([1, 2, 3]).aggregate('sum') per jdehesa comment






        share|improve this answer













        it seems that pandas apparently the best way to achieve dynamic parameterized aggregation
        pd.Series([1, 2, 3]).aggregate('sum') per jdehesa comment







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 7 at 8:23









        RNNRNN

        52




        52
































            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%2f54021598%2faggregate-numpy-array-dynamically-aggregation-function-is-parameterized%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

            Monofisismo

            Angular Downloading a file using contenturl with Basic Authentication

            Olmecas