* **The way `'aggregate()'` and `'transform()'` find out whether a function accepts an element or the whole Series is by passing it a single value at first and if it raises an error, then they pass it the whole Series.**
<li><strong>Also: <codeclass="python hljs"><spanclass="hljs-string">'ffill()'</span></code> and <codeclass="python hljs"><spanclass="hljs-string">'interpolate()'</span></code>.</strong></li>
<li><strong>The way <codeclass="python hljs"><spanclass="hljs-string">'aggregate()'</span></code> and <codeclass="python hljs"><spanclass="hljs-string">'transform()'</span></code> find out whether a function accepts an element or the whole Series is by passing it a single value at first and if it raises an error, then they pass it the whole Series.</strong></li>
<li><strong>Also: <codeclass="python hljs"><spanclass="hljs-string">'ffill()'</span></code> and <codeclass="python hljs"><spanclass="hljs-string">'interpolate()'</span></code>.</strong></li>
<li><strong>All operations operate on columns by default. Use <codeclass="python hljs"><spanclass="hljs-string">'axis=1'</span></code> parameter to process the rows instead.</strong></li>
| df.agg(…) | x <spanclass="hljs-number">4</span> | sum <spanclass="hljs-number">4</span><spanclass="hljs-number">6</span> | x <spanclass="hljs-number">4</span>|
| df.agg(…) | a <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span> | rank rank | a <spanclass="hljs-number">1</span>|
| df.trans(…) | b <spanclass="hljs-number">2</span><spanclass="hljs-number">2</span> | a <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span> | b <spanclass="hljs-number">2</span>|
| | | b <spanclass="hljs-number">2</span><spanclass="hljs-number">2</span> | |
┃ df.agg(…) │ x <spanclass="hljs-number">4</span>│ sum <spanclass="hljs-number">4</span><spanclass="hljs-number">6</span>│ x <spanclass="hljs-number">4</span>┃
┃ df.agg(…) │ a <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span>│ rank rank │ a <spanclass="hljs-number">1</span>┃
┃ df.trans(…) │ b <spanclass="hljs-number">2</span><spanclass="hljs-number">2</span>│ a <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span>│ b <spanclass="hljs-number">2</span>┃
┃ │ │ b <spanclass="hljs-number">2</span><spanclass="hljs-number">2</span>│ ┃
<div><h3id="groupby">GroupBy</h3><p><strong>Object that groups together rows of a dataframe based on the value of passed column.</strong></p><pre><codeclass="python language-python hljs"><spanclass="hljs-meta">>>></span>df = DataFrame([[<spanclass="hljs-number">1</span>, <spanclass="hljs-number">2</span>, <spanclass="hljs-number">3</span>], [<spanclass="hljs-number">4</span>, <spanclass="hljs-number">5</span>, <spanclass="hljs-number">6</span>], [<spanclass="hljs-number">7</span>, <spanclass="hljs-number">8</span>, <spanclass="hljs-number">6</span>]], index=list(<spanclass="hljs-string">'abc'</span>), columns=list(<spanclass="hljs-string">'xyz'</span>))
<div><h3id="groupby">GroupBy</h3><p><strong>Object that groups together rows of a dataframe based on the value of the passed column.</strong></p><pre><codeclass="python language-python hljs"><spanclass="hljs-meta">>>></span>df = DataFrame([[<spanclass="hljs-number">1</span>, <spanclass="hljs-number">2</span>, <spanclass="hljs-number">3</span>], [<spanclass="hljs-number">4</span>, <spanclass="hljs-number">5</span>, <spanclass="hljs-number">6</span>], [<spanclass="hljs-number">7</span>, <spanclass="hljs-number">8</span>, <spanclass="hljs-number">6</span>]], index=list(<spanclass="hljs-string">'abc'</span>), columns=list(<spanclass="hljs-string">'xyz'</span>))
a <spanclass="hljs-number">1</span><spanclass="hljs-number">2</span>
@ -2792,7 +2789,7 @@ c <span class="hljs-number">7</span> <span class="hljs-number">8</span>
<pre><codeclass="python language-python hljs"><GB> = <DF>.groupby(column_key/s) <spanclass="hljs-comment"># DF is split into groups based on passed column.</span>
<DF> = <GB>.get_group(group_key) <spanclass="hljs-comment"># Selects a group by value of grouping column.</span>
| | z | a <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span>| rank rank | a <spanclass="hljs-number">1</span>|
| |<spanclass="hljs-number">3</span><spanclass="hljs-number">1</span><spanclass="hljs-number">2</span>| b <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span>| a <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span>| b <spanclass="hljs-number">1</span>|
| |<spanclass="hljs-number">6</span><spanclass="hljs-number">11</span><spanclass="hljs-number">13</span>| c <spanclass="hljs-number">2</span><spanclass="hljs-number">2</span>| b <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span>| c <spanclass="hljs-number">2</span>|
| | | | c <spanclass="hljs-number">2</span><spanclass="hljs-number">2</span>| |
┃ │ z │ a <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span>│ rank rank │ a <spanclass="hljs-number">1</span>┃
┃ │<spanclass="hljs-number">3</span><spanclass="hljs-number">1</span><spanclass="hljs-number">2</span>│ b <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span>│ a <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span>│ b <spanclass="hljs-number">1</span>┃
┃ │<spanclass="hljs-number">6</span><spanclass="hljs-number">11</span><spanclass="hljs-number">13</span>│ c <spanclass="hljs-number">2</span><spanclass="hljs-number">2</span>│ b <spanclass="hljs-number">1</span><spanclass="hljs-number">1</span>│ c <spanclass="hljs-number">2</span>┃
┃ │ │ │ c <spanclass="hljs-number">2</span><spanclass="hljs-number">2</span>│ ┃