{
    "componentChunkName": "component---src-templates-blog-post-js",
    "path": "/pandas-groupby-method/",
    "result": {"data":{"markdownRemark":{"html":"<div class=\"table-of-contents\">\n<ul>\n<li><a href=\"#size\">size()</a></li>\n<li><a href=\"#groups\">groups()</a></li>\n<li><a href=\"#get_group\">get_group()</a></li>\n<li><a href=\"#sum\">sum()</a></li>\n<li><a href=\"#agg\">agg()</a></li>\n</ul>\n</div>\n<p>We can use the <del>groupby</del> method to split a DataFrame into multiple groups/segments based on the unique values in a particular column.</p>\n<p>This concept is best illustrated with the help of an example. So, let’s read the <del>budget.xlsx</del> file into a DataFrame:</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"py\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">import</span><span class=\"mtk15\"> pandas </span><span class=\"mtk10\">as</span><span class=\"mtk15\"> pd</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">data </span><span class=\"mtk12\">=</span><span class=\"mtk15\"> pd.</span><span class=\"mtk6\">read_excel</span><span class=\"mtk15\">(</span><span class=\"mtk16\">&quot;budget.xlsx&quot;</span><span class=\"mtk15\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"4\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"5\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">data</span></span></span></code></pre>\n<p><strong>Output:</strong></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 487px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/671fb7cb29f1fd0411d8a830de634df4/6a170/budget.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 68.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAIAAACgpqunAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACJUlEQVQoz0WS2XbbMAxE8/+/1r62SW1ZCzeAJEhqsSWKpMQeu2kyr8DgDg7wlpxOZM5Saq3xpfRSLrm+lHLKOe8xxn3/13AcZ0pp3/e3ep611lJyCOFyuX68v1+ul6ZpmuttWRay9nq99P3w5/394+OjbdufP34ogLa9/fr1++3f+JyzMSblbI1hjCkJSuE8T+2t7fpWG+y7QSOu29a2N62xHzo2DJ/m8zxjjLXWMQRr3bLMxrla6zyP/dDuKZWcp3EsR9Fa3+93BEDAT3MpmYjiviNANwyCC8FhWeb2dmvbRoFqrg0oWLet627G6K57Vr7Ix7Zttdb18SDniCj4KaVdSCFBpvwkjyGcZzWI4SVr7TfZe7/vSWtkjCGiUJDTzjlrbtd5nu/3u0a9xSg4B0AuuFLq03wcxzzPZ63OOSkVkZWAtdYtbl3fLo/HHqMjSrl0feucl1Iwzr/IJXifUiJLnAutDaJJKQXvhBTrusa4kbVbjBqAnGOMCSG/ycuyHMfhnddGa62NpvM8QIHgfBwDApK1uRStwRJJIUDBf3Mp0zQ9+SGg1kIIJZ+xp2m8NhfnvUZD9nkOxhk5J4WUUn7HHkPIuRARIDjntbZhDN57Idi6bTk/N9q2CADOOc4YIH6Tx3E8zxp8ICLvPKCxloahZ5zdH/dpnLzzpRxCihdAGWu+3jMh4r4nIpJKAWiN5vWzKAQna/uut8Y+1pUNvSOnnqnlX78iEDBCbFDjAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Budget\"\n        title=\"Budget\"\n        src=\"/static/671fb7cb29f1fd0411d8a830de634df4/6a170/budget.png\"\n        srcset=\"/static/671fb7cb29f1fd0411d8a830de634df4/56d15/budget.png 200w,\n/static/671fb7cb29f1fd0411d8a830de634df4/d9f49/budget.png 400w,\n/static/671fb7cb29f1fd0411d8a830de634df4/6a170/budget.png 487w\"\n        sizes=\"(max-width: 487px) 100vw, 487px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>Let’s say we want to create multiple segments of our dataset based on the unique values in the <del>Zone</del> column. (<em>You can also choose to segment the dataset based on the <del>LTL Flag</del> or the <del>City</del> column. The decision really depends on your requirements.</em>)</p>\n<p>We can check the unique values and their counts in the <del>Zone</del> column using the <del>value_counts()</del> method.</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"py\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">data[</span><span class=\"mtk16\">&quot;Zone&quot;</span><span class=\"mtk15\">].</span><span class=\"mtk6\">value_counts</span><span class=\"mtk15\">()</span></span></span></code></pre>\n<p><strong>Output:</strong></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 268px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e748a34c207a8426ca7bb71210a8344a/baf7c/zoneValueCounts.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 36.50000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA4ElEQVQY032N226DMBBE8/+f1zyQEi6+rAFjqBMgIGzvuiUUqaqUjPZhpJ0zc1obWGu2iNIZHTwKqUAIJQFjjJGsvRHFVzrhNITBetvjNGIIeZ6zorDWPlkyxuAb+DBbBNEzXlwuyTTPT5b6zrxbjkS/FyMhlpylacqyAiMRotYNbk9C2rQ30uFPf5sChiy7XtN0Wdc999V3r4cPeG/yzifJ5/n8Ye/3xziAVBLAOa+kNF1X143zoW8bAF5w+X85UtS6Lcv8NgzzNEoAVVXLstZKccEZF86FrtWqgro1P/A3HJWTQg24CtUAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Segments\"\n        title=\"Segments\"\n        src=\"/static/e748a34c207a8426ca7bb71210a8344a/baf7c/zoneValueCounts.png\"\n        srcset=\"/static/e748a34c207a8426ca7bb71210a8344a/56d15/zoneValueCounts.png 200w,\n/static/e748a34c207a8426ca7bb71210a8344a/baf7c/zoneValueCounts.png 268w\"\n        sizes=\"(max-width: 268px) 100vw, 268px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>We have four unique values: <del>East</del>, <del>West</del>, <del>North</del>, <del>South</del>. Next, we will create our zone segments using the <del>groupby</del> method.</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"py\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">zones </span><span class=\"mtk12\">=</span><span class=\"mtk15\"> data.</span><span class=\"mtk6\">groupby</span><span class=\"mtk15\">(</span><span class=\"mtk16\">&quot;Zone&quot;</span><span class=\"mtk15\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">zones</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"4\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"5\"></span><span class=\"grvsc-source\"><span class=\"mtk10\">&lt;</span><span class=\"mtk15\">pandas.core.groupby.generic.DataFrameGroupBy </span><span class=\"mtk9\">object</span><span class=\"mtk15\"> at </span><span class=\"mtk10\">0x</span><span class=\"mtk5\">000001AC01D6D4F0</span><span class=\"mtk10\">&gt;</span></span></span></code></pre>\n<p>Calling the <del>grouby</del> method on the <del>data</del> DataFrame object creates a <del>DataFrameGroupBy</del> object.</p>\n<h3 id=\"size\" style=\"position:relative;\"><a href=\"#size\" aria-label=\"size permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>size()</h3>\n<p>We can get the no. of segments the <del>grouby()</del> method has created using the <del>size()</del> method.</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"py\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">zones.</span><span class=\"mtk6\">size</span><span class=\"mtk15\">()</span></span></span></code></pre>\n<p><strong>Output:</strong></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 184px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/83138443e6b1d23a9bce3ee4287835b4/915eb/segments.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 59.78260869565217%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABSklEQVQoz32S63KCMBCFff+H6lSp9jZMJcWogIBouBgC5U4CJq1FbTsVdvInZ/bkO7uTUVtkhQZLC9aOXTubyjZp4Iu2KYtcW+uGaWlrnbWtuFUjzuradWiAqO+yw576Lg1DwXlZ5KZp7ZFnaDpjzW3zf4lzLoQgJADgbbWAuqm3x+NVN81NWdWn69nM+e/TNRVlvttt7a29R6hp2q5LCOG5iF6C9JJDP7yXZkt1BeH8XQZNezYY+qairNfcFa2p5/lZmidJHGHSvSiEyLK0ueyvl5x8xK+yPAcQKDJU4A/Z0P7OfKvKqkAuwhj7gUdPOc9sjAM6ELvrwiGWxhJQwFrXjt9Kp1um0ZGHZmaM7Rwrz7M0SUkcc86rqo4IOWCMkBdG8RA5ImT2NFYXYDq5m0izPC/DKHx8flHVlfQwVZZwiHzltz1/88v8CScPsYUtZSjhAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Segments\"\n        title=\"Segments\"\n        src=\"/static/83138443e6b1d23a9bce3ee4287835b4/915eb/segments.png\"\n        srcset=\"/static/83138443e6b1d23a9bce3ee4287835b4/915eb/segments.png 184w\"\n        sizes=\"(max-width: 184px) 100vw, 184px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>We can see that there are 4 unique segments (<del>East</del>, <del>West</del>, <del>North</del>, <del>South</del>) that correspond to each unique value in the <del>Zone</del> column.</p>\n<h3 id=\"groups\" style=\"position:relative;\"><a href=\"#groups\" aria-label=\"groups permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>groups()</h3>\n<p>We can see the segments we have created using the <del>groups()</del> method.</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"py\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">zones.</span><span class=\"mtk6\">groups</span><span class=\"mtk15\">()</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">{</span><span class=\"mtk16\">&#39;East&#39;</span><span class=\"mtk15\">: [</span><span class=\"mtk5\">1</span><span class=\"mtk15\">, </span><span class=\"mtk5\">9</span><span class=\"mtk15\">], </span><span class=\"mtk16\">&#39;North&#39;</span><span class=\"mtk15\">: [</span><span class=\"mtk5\">0</span><span class=\"mtk15\">, </span><span class=\"mtk5\">2</span><span class=\"mtk15\">, </span><span class=\"mtk5\">6</span><span class=\"mtk15\">, </span><span class=\"mtk5\">8</span><span class=\"mtk15\">, </span><span class=\"mtk5\">10</span><span class=\"mtk15\">], </span><span class=\"mtk16\">&#39;South&#39;</span><span class=\"mtk15\">: [</span><span class=\"mtk5\">3</span><span class=\"mtk15\">, </span><span class=\"mtk5\">7</span><span class=\"mtk15\">], </span><span class=\"mtk16\">&#39;West&#39;</span><span class=\"mtk15\">: [</span><span class=\"mtk5\">4</span><span class=\"mtk15\">, </span><span class=\"mtk5\">5</span><span class=\"mtk15\">]}</span></span></span></code></pre>\n<p>Calling the <del>groups</del> method on the <del>zones</del> DataFrameGroupBy object will get us a python dictionary. The keys in the dictionary represent each created segment and the values represent all of the rows that fall under that segment.</p>\n<h3 id=\"get_group\" style=\"position:relative;\"><a href=\"#get_group\" aria-label=\"get_group permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>get_group()</h3>\n<p>We can retrieve a segment from our <del>zones</del> DataFrameGroupBy object using the <del>get_group()</del> method, which receives the name of the segment as its argument.</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"py\" data-index=\"5\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">east </span><span class=\"mtk12\">=</span><span class=\"mtk15\"> zones.</span><span class=\"mtk6\">get_group</span><span class=\"mtk15\">(</span><span class=\"mtk16\">&quot;East&quot;</span><span class=\"mtk15\">)</span></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"2\"></span><span class=\"grvsc-source\"></span></span>\n<span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"3\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">east</span></span></span></code></pre>\n<p>This will pull out all of the rows where the value in the <del>Zone</del> column is <del>East</del>.</p>\n<p><strong>Output:</strong></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 495px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/9f00511e461fed0516159430b5ccdc81/68bae/eastSegment.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 20.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAIAAAABPYjBAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAtklEQVQI10XLwU7DMAwA0P3/t/XWwSKSjlUiLQU6O3birElaIw5o7/5OLXGFtUlS1YABAJgjM4uIqh7HkWKKzIBIzHC/E9G+7wBQaj3pPyYabzdjLq8vF2vfnHMiMnnf92fvvXN2cM4Y0/fneZq6rgMMz4yIpdYQ8MNPXz/fn/O8rut1uA7De6mVQqAQmHkcx2VZrLVJ5Jm3Ug7VbXuknPMjx8iICIjMUVXL9mdvOxFJFmKurf0C91vhBYykZPAAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"East Segment\"\n        title=\"East Segment\"\n        src=\"/static/9f00511e461fed0516159430b5ccdc81/68bae/eastSegment.png\"\n        srcset=\"/static/9f00511e461fed0516159430b5ccdc81/56d15/eastSegment.png 200w,\n/static/9f00511e461fed0516159430b5ccdc81/d9f49/eastSegment.png 400w,\n/static/9f00511e461fed0516159430b5ccdc81/68bae/eastSegment.png 495w\"\n        sizes=\"(max-width: 495px) 100vw, 495px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<h3 id=\"sum\" style=\"position:relative;\"><a href=\"#sum\" aria-label=\"sum permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>sum()</h3>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"py\" data-index=\"6\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">zones.</span><span class=\"mtk6\">sum</span><span class=\"mtk15\">()</span></span></span></code></pre>\n<p>This will give us the sum of all the columns (<em>with numerical values</em>) in our DataFrame.</p>\n<p><strong>Output:</strong></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 263px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/f11058b154e75f946e505e6d1649c4ae/1e7a9/sum.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 66%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABnElEQVQoz42SW3PbIBCF/f//VuM8tU7S1LaQEAjQxQJdAF8QQoI2Uh86tdPpGWYfdvbbPWeGzTzcDE1tlRsCbVXMwxD+Wxs/uUn3k1ZO9tNZeedCCH72s/chhAwjmKYkI5Sx2+1KMI72x7btPma833y21S+VMXoEACYQxLExpszz449D2/V/wN7/fmGtgVEKE6i1Xoc+tX3fcuOIEIqOERfCLBoG68ZxWOScG8fRufFveD0ipQTHw9fdLo4T0Yj3t+8vu92X7fOy8fD0tN0+bxkrHl+e57lt+LeX16qqpnk6lWXBcoiQUorXdZoiTIk+X+7g5bK5XWECMcK9VCGEmnMueEYLMwxKSZLnBKHL9faPzDhJkl7KEIIQvBECYWKtvWiNCYUAnO/hNbOSEgDwvt8XZWWtrU+cUhoB0HZdzTlMEohTqdRj+KwVAFEUx3UtrLVd159OdUao0qppGkJJXhZK6Qe2Vx7GAMSJXGy3oq3KIk5TM5i+7xCmFGdm+cWPYUqy3etb27YfKXpVVydEiB2tUoqxomD51Zhf8E91UuJJx/eh5gAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Sum\"\n        title=\"Sum\"\n        src=\"/static/f11058b154e75f946e505e6d1649c4ae/1e7a9/sum.png\"\n        srcset=\"/static/f11058b154e75f946e505e6d1649c4ae/56d15/sum.png 200w,\n/static/f11058b154e75f946e505e6d1649c4ae/1e7a9/sum.png 263w\"\n        sizes=\"(max-width: 263px) 100vw, 263px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<h3 id=\"agg\" style=\"position:relative;\"><a href=\"#agg\" aria-label=\"agg permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>agg()</h3>\n<p>We call the <del>agg()</del> method directly on the <del>zones</del> DataFrameGroupBy object.</p>\n<pre class=\"grvsc-container synthwave-84\" data-language=\"py\" data-index=\"7\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"grvsc-gutter-pad\"></span><span class=\"grvsc-gutter grvsc-line-number\" aria-hidden=\"true\" data-content=\"1\"></span><span class=\"grvsc-source\"><span class=\"mtk15\">zones.</span><span class=\"mtk6\">agg</span><span class=\"mtk15\">({</span><span class=\"mtk16\">&quot;Revenue&quot;</span><span class=\"mtk15\"> : [</span><span class=\"mtk16\">&quot;size&quot;</span><span class=\"mtk15\">, </span><span class=\"mtk16\">&quot;sum&quot;</span><span class=\"mtk15\">, </span><span class=\"mtk16\">&quot;mean&quot;</span><span class=\"mtk15\">], </span><span class=\"mtk16\">&quot;Profit&quot;</span><span class=\"mtk15\"> :</span><span class=\"mtk16\">&quot;sum&quot;</span><span class=\"mtk15\">})</span></span></span></code></pre>\n<p>We can perform different aggregations in different columns.</p>\n<p><strong>Output:</strong></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 332px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ccd67a5a40e4f018ed468dc633c81e2d/557e0/aggregate.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 60.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABjElEQVQoz42SXXOjIBRA+///W5POakeNGkWhchG/IAqCwm6atju1+7Dn8Q6Hw9zhyTCyNnhl2E7Cf+Kc899x7xyGT26zu1mdWZ21X9rQ819BGAZBgaov23tvrUmzNHh9tcbc5Z8F773WCgCklG3bGnun7/t5Wbz3XceHYfwo/1OepjGO43mekySexE2pJQgC8tZ47/M8bRp4nDzKuMZlWW528//BN1lrfUkucRQz1jLGKAAhBGPCGCOE1BgDAKVNVVUU4Fje9x3X6Pl0FlJyzoFBFEdhGLS8S+P05eVMGopKdDo9VzU6lvfNlkWBUG3sppS63a/omrdGKT0MIyZECiGlrBBqefdDtne5RJWx27IsUgiggDFRSgOF/HoVQkxiyrMMWPtXfix5mec4ioIgnCbBeTf2A0FVmmXjJBAqT+cTa1sG9JIkFOix7Jwr39PWbvNtnucb0Kauidaadzy75lLKYeiKouCHZz/+XoXKS5o677VS67oy1tRVbaztuy7Ls2VZhBwRQrwf/si/AWM2qZMXjLb8AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Aggregate\"\n        title=\"Aggregate\"\n        src=\"/static/ccd67a5a40e4f018ed468dc633c81e2d/557e0/aggregate.png\"\n        srcset=\"/static/ccd67a5a40e4f018ed468dc633c81e2d/56d15/aggregate.png 200w,\n/static/ccd67a5a40e4f018ed468dc633c81e2d/557e0/aggregate.png 332w\"\n        sizes=\"(max-width: 332px) 100vw, 332px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    position: relative;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n    line-height: 1.4;\n  }\n  \n  .grvsc-code {\n    display: table;\n  }\n  \n  .grvsc-line {\n    display: table-row;\n    box-sizing: border-box;\n    width: 100%;\n    position: relative;\n  }\n  \n  .grvsc-line > * {\n    position: relative;\n  }\n  \n  .grvsc-gutter-pad {\n    display: table-cell;\n    padding-left: 0.75rem;\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\n  }\n  \n  .grvsc-gutter {\n    display: table-cell;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    user-select: none;\n  }\n  \n  .grvsc-gutter::before {\n    content: attr(data-content);\n  }\n  \n  .grvsc-source {\n    display: table-cell;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-source:empty::after {\n    content: ' ';\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    user-select: none;\n  }\n  \n  .grvsc-gutter + .grvsc-source {\n    padding-left: 0.75rem;\n    padding-left: calc(var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem)) / 2);\n  }\n  \n  /* Line transformer styles */\n  \n  .grvsc-has-line-highlighting > .grvsc-code > .grvsc-line::before {\n    content: ' ';\n    position: absolute;\n    width: 100%;\n  }\n  \n  .grvsc-line-diff-add::before {\n    background-color: var(--grvsc-line-diff-add-background-color, rgba(0, 255, 60, 0.2));\n  }\n  \n  .grvsc-line-diff-del::before {\n    background-color: var(--grvsc-line-diff-del-background-color, rgba(255, 0, 20, 0.2));\n  }\n  \n  .grvsc-line-number {\n    padding: 0 2px;\n    text-align: right;\n    opacity: 0.7;\n  }\n  \n  .synthwave-84 { background-color: #262335; }\n  .synthwave-84 .mtk10 { color: #FEDE5D; }\n  .synthwave-84 .mtk15 { color: #FF7EDBFF; }\n  .synthwave-84 .mtk12 { color: #FFFFFFEE; }\n  .synthwave-84 .mtk6 { color: #36F9F6; }\n  .synthwave-84 .mtk16 { color: #FF8B39; }\n  .synthwave-84 .mtk9 { color: #FE4450; }\n  .synthwave-84 .mtk5 { color: #F97E72; }\n  .synthwave-84 .grvsc-line-highlighted::before {\n    background-color: var(--grvsc-line-highlighted-background-color, rgba(255, 255, 255, 0.1));\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, rgba(255, 255, 255, 0.5));\n  }\n</style>","frontmatter":{"title":"Pandas groupby() Method","date":"2021-08-12"}}},"pageContext":{"slug":"/pandas-groupby-method/","prev":{"fields":{"slug":"/pandas-series-filtering-with-string-methods/"},"frontmatter":{"modules":null}},"next":{"fields":{"slug":"/join-pandas-dataframes-with-the-join-method/"},"frontmatter":{"modules":null}}}},
    "staticQueryHashes": ["3159585216"]}