pandas分组聚合
.. code:: ipython3
import pandas as pd
import numpy as np
df = pd.DataFrame({'key1': ['a', 'a', 'b', 'b', 'a'],
'key2': ['one', 'two', 'one', 'two', 'one'],
'data1': np.random.randn(5),
'data2': np.random.randn(5)})
grouped = df.groupby('key1')
grouped.agg('mean')
.. raw:: html
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>data1</th>
<th>data2</th>
</tr>
<tr>
<th>key1</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th>a</th>
<td>-1.139944</td>
<td>-0.318132</td>
</tr>
<tr>
<th>b</th>
<td>0.185783</td>
<td>-0.976789</td>
</tr>
</tbody>
</table>
</div>
.. code:: ipython3
grouped.agg(['sum','mean'])
.. raw:: html
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr>
<th></th>
<th colspan="2" halign="left">data1</th>
<th colspan="2" halign="left">data2</th>
</tr>
<tr>
<th></th>
<th>sum</th>
<th>mean</th>
<th>sum</th>
<th>mean</th>
</tr>
<tr>
<th>key1</th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th>a</th>
<td>-3.419832</td>
<td>-1.139944</td>
<td>-0.954396</td>
<td>-0.318132</td>
</tr>
<tr>
<th>b</th>
<td>0.371566</td>
<td>0.185783</td>
<td>-1.953577</td>
<td>-0.976789</td>
</tr>
</tbody>
</table>
</div>
.. code:: ipython3
grouped['data1'].agg(['sum','mean'])
.. raw:: html
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>sum</th>
<th>mean</th>
</tr>
<tr>
<th>key1</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th>a</th>
<td>-3.419832</td>
<td>-1.139944</td>
</tr>
<tr>
<th>b</th>
<td>0.371566</td>
<td>0.185783</td>
</tr>
</tbody>
</table>
</div>
.. code:: ipython3
grouped[['data1']].agg(['sum','mean'])
.. raw:: html
<div>
<style>
.dataframe thead tr:only-child th {
text-align: right;
}
.dataframe thead th {
text-align: left;
}
.dataframe tbody tr th {
vertical-align: top;
}
</style>
<table border="1" class="dataframe">
<thead>
<tr>
<th></th>
<th colspan="2" halign="left">data1</th>
</tr>
<tr>
<th></th>
<th>sum</th>
<th>mean</th>
</tr>
<tr>
<th>key1</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<th>a</th>
<td>-3.419832</td>
<td>-1.139944</td>
</tr>
<tr>
<th>b</th>
<td>0.371566</td>
<td>0.185783</td>
</tr>
</tbody>
</table>
</div>

浙公网安备 33010602011771号