import numpy as np
import pandas as pd
from sparklines import sparklines
df = pd.read_csv('2018年销售汇总表.csv',parse_dates = ['日期'],encoding="gbk")
df.head()
| t | 姓名 | 单品 | 数量 | 单价 | 金额 | 日期 |
---|
0 | 740150 | Barton LLC | B1-20000 | 39 | 86.69 | 3380.91 | 2018-01-01 07:21:00 |
1 | 714466 | Trantow-Barrows | S2-77896 | -1 | 63.16 | -63.16 | 2018-01-01 10:00:00 |
2 | 218895 | Kulas Inc | B1-69924 | 23 | 90.70 | 2086.10 | 2018-01-01 13:24:00 |
3 | 307599 | Kassulke, Ondricka and Metz | S1-65481 | 41 | 21.05 | 863.05 | 2018-01-01 15:05:00 |
4 | 412290 | Jerde-Hilpert | S2-34077 | 6 | 83.21 | 499.26 | 2018-01-01 23:26:00 |
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1500 entries, 0 to 1499
Data columns (total 7 columns):
t 1500 non-null int64
姓名 1500 non-null object
单品 1500 non-null object
数量 1500 non-null int64
单价 1500 non-null float64
金额 1500 non-null float64
日期 1500 non-null datetime64[ns]
dtypes: datetime64[ns](1), float64(2), int64(2), object(2)
memory usage: 82.2+ KB
df.groupby("姓名")["金额"].agg(["mean","sum"])
| mean | sum |
---|
姓名 | | |
---|
Barton LLC | 1334.615854 | 109438.50 |
Cronin, Oberbrunner and Spencer | 1339.321642 | 89734.55 |
Frami, Hills and Schmidt | 1438.466528 | 103569.59 |
Fritsch, Russel and Anderson | 1385.366790 | 112214.71 |
Halvorson, Crona and Champlin | 1206.971724 | 70004.36 |
Herman LLC | 1336.532258 | 82865.00 |
Jerde-Hilpert | 1265.072247 | 112591.43 |
Kassulke, Ondricka and Metz | 1350.797969 | 86451.07 |
Keeling LLC | 1363.977027 | 100934.30 |
Kiehn-Spinka | 1260.870506 | 99608.77 |
Koepp Ltd | 1264.152927 | 103660.54 |
Kuhn-Gusikowski | 1247.866849 | 91094.28 |
Kulas Inc | 1461.191064 | 137351.96 |
Pollich LLC | 1196.536712 | 87347.18 |
Purdy-Kunde | 1469.777547 | 77898.21 |
Sanford and Sons | 1391.872958 | 98822.98 |
Stokes LLC | 1271.332222 | 91535.92 |
Trantow-Barrows | 1312.567872 | 123381.38 |
White-Trantow | 1579.558023 | 135841.99 |
Will LLC | 1411.318919 | 104437.60 |
(
df.groupby("姓名")["金额"]
.agg(["mean","sum"])
.style.format("${0:,.2f}")
)
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row0" class="row_heading level0 row0" >Barton LLC</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row0_col0" class="data row0 col0" >$1,334.62</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row0_col1" class="data row0 col1" >$109,438.50</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row1" class="row_heading level0 row1" >Cronin, Oberbrunner and Spencer</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row1_col0" class="data row1 col0" >$1,339.32</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row1_col1" class="data row1 col1" >$89,734.55</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row2" class="row_heading level0 row2" >Frami, Hills and Schmidt</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row2_col0" class="data row2 col0" >$1,438.47</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row2_col1" class="data row2 col1" >$103,569.59</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row3" class="row_heading level0 row3" >Fritsch, Russel and Anderson</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row3_col0" class="data row3 col0" >$1,385.37</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row3_col1" class="data row3 col1" >$112,214.71</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row4" class="row_heading level0 row4" >Halvorson, Crona and Champlin</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row4_col0" class="data row4 col0" >$1,206.97</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row4_col1" class="data row4 col1" >$70,004.36</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row5" class="row_heading level0 row5" >Herman LLC</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row5_col0" class="data row5 col0" >$1,336.53</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row5_col1" class="data row5 col1" >$82,865.00</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row6" class="row_heading level0 row6" >Jerde-Hilpert</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row6_col0" class="data row6 col0" >$1,265.07</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row6_col1" class="data row6 col1" >$112,591.43</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row7" class="row_heading level0 row7" >Kassulke, Ondricka and Metz</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row7_col0" class="data row7 col0" >$1,350.80</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row7_col1" class="data row7 col1" >$86,451.07</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row8" class="row_heading level0 row8" >Keeling LLC</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row8_col0" class="data row8 col0" >$1,363.98</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row8_col1" class="data row8 col1" >$100,934.30</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row9" class="row_heading level0 row9" >Kiehn-Spinka</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row9_col0" class="data row9 col0" >$1,260.87</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row9_col1" class="data row9 col1" >$99,608.77</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row10" class="row_heading level0 row10" >Koepp Ltd</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row10_col0" class="data row10 col0" >$1,264.15</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row10_col1" class="data row10 col1" >$103,660.54</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row11" class="row_heading level0 row11" >Kuhn-Gusikowski</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row11_col0" class="data row11 col0" >$1,247.87</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row11_col1" class="data row11 col1" >$91,094.28</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row12" class="row_heading level0 row12" >Kulas Inc</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row12_col0" class="data row12 col0" >$1,461.19</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row12_col1" class="data row12 col1" >$137,351.96</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row13" class="row_heading level0 row13" >Pollich LLC</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row13_col0" class="data row13 col0" >$1,196.54</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row13_col1" class="data row13 col1" >$87,347.18</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row14" class="row_heading level0 row14" >Purdy-Kunde</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row14_col0" class="data row14 col0" >$1,469.78</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row14_col1" class="data row14 col1" >$77,898.21</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row15" class="row_heading level0 row15" >Sanford and Sons</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row15_col0" class="data row15 col0" >$1,391.87</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row15_col1" class="data row15 col1" >$98,822.98</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row16" class="row_heading level0 row16" >Stokes LLC</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row16_col0" class="data row16 col0" >$1,271.33</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row16_col1" class="data row16 col1" >$91,535.92</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row17" class="row_heading level0 row17" >Trantow-Barrows</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row17_col0" class="data row17 col0" >$1,312.57</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row17_col1" class="data row17 col1" >$123,381.38</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row18" class="row_heading level0 row18" >White-Trantow</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row18_col0" class="data row18 col0" >$1,579.56</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row18_col1" class="data row18 col1" >$135,841.99</td>
</tr>
<tr>
<th id="T_2054f41e_2029_11ea_86d1_cc2f7187c201level0_row19" class="row_heading level0 row19" >Will LLC</th>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row19_col0" class="data row19 col0" >$1,411.32</td>
<td id="T_2054f41e_2029_11ea_86d1_cc2f7187c201row19_col1" class="data row19 col1" >$104,437.60</td>
</tr>
</tbody></table>
(
df.groupby("姓名")["金额"]
.agg(["mean","sum"])
.style.format("${0:,.0f}")
)
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row0" class="row_heading level0 row0" >Barton LLC</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row0_col0" class="data row0 col0" >$1,335</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row0_col1" class="data row0 col1" >$109,438</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row1" class="row_heading level0 row1" >Cronin, Oberbrunner and Spencer</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row1_col0" class="data row1 col0" >$1,339</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row1_col1" class="data row1 col1" >$89,735</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row2" class="row_heading level0 row2" >Frami, Hills and Schmidt</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row2_col0" class="data row2 col0" >$1,438</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row2_col1" class="data row2 col1" >$103,570</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row3" class="row_heading level0 row3" >Fritsch, Russel and Anderson</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row3_col0" class="data row3 col0" >$1,385</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row3_col1" class="data row3 col1" >$112,215</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row4" class="row_heading level0 row4" >Halvorson, Crona and Champlin</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row4_col0" class="data row4 col0" >$1,207</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row4_col1" class="data row4 col1" >$70,004</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row5" class="row_heading level0 row5" >Herman LLC</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row5_col0" class="data row5 col0" >$1,337</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row5_col1" class="data row5 col1" >$82,865</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row6" class="row_heading level0 row6" >Jerde-Hilpert</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row6_col0" class="data row6 col0" >$1,265</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row6_col1" class="data row6 col1" >$112,591</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row7" class="row_heading level0 row7" >Kassulke, Ondricka and Metz</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row7_col0" class="data row7 col0" >$1,351</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row7_col1" class="data row7 col1" >$86,451</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row8" class="row_heading level0 row8" >Keeling LLC</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row8_col0" class="data row8 col0" >$1,364</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row8_col1" class="data row8 col1" >$100,934</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row9" class="row_heading level0 row9" >Kiehn-Spinka</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row9_col0" class="data row9 col0" >$1,261</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row9_col1" class="data row9 col1" >$99,609</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row10" class="row_heading level0 row10" >Koepp Ltd</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row10_col0" class="data row10 col0" >$1,264</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row10_col1" class="data row10 col1" >$103,661</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row11" class="row_heading level0 row11" >Kuhn-Gusikowski</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row11_col0" class="data row11 col0" >$1,248</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row11_col1" class="data row11 col1" >$91,094</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row12" class="row_heading level0 row12" >Kulas Inc</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row12_col0" class="data row12 col0" >$1,461</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row12_col1" class="data row12 col1" >$137,352</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row13" class="row_heading level0 row13" >Pollich LLC</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row13_col0" class="data row13 col0" >$1,197</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row13_col1" class="data row13 col1" >$87,347</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row14" class="row_heading level0 row14" >Purdy-Kunde</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row14_col0" class="data row14 col0" >$1,470</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row14_col1" class="data row14 col1" >$77,898</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row15" class="row_heading level0 row15" >Sanford and Sons</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row15_col0" class="data row15 col0" >$1,392</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row15_col1" class="data row15 col1" >$98,823</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row16" class="row_heading level0 row16" >Stokes LLC</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row16_col0" class="data row16 col0" >$1,271</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row16_col1" class="data row16 col1" >$91,536</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row17" class="row_heading level0 row17" >Trantow-Barrows</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row17_col0" class="data row17 col0" >$1,313</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row17_col1" class="data row17 col1" >$123,381</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row18" class="row_heading level0 row18" >White-Trantow</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row18_col0" class="data row18 col0" >$1,580</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row18_col1" class="data row18 col1" >$135,842</td>
</tr>
<tr>
<th id="T_655533d8_2029_11ea_bc7d_cc2f7187c201level0_row19" class="row_heading level0 row19" >Will LLC</th>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row19_col0" class="data row19 col0" >$1,411</td>
<td id="T_655533d8_2029_11ea_bc7d_cc2f7187c201row19_col1" class="data row19 col1" >$104,438</td>
</tr>
</tbody></table>
by=[pd.Grouper(key='日期', freq='M')]
monthly_sales=df.groupby(by)["金额"].agg(["sum"]).reset_index()
monthly_sales["月占比"]=monthly_sales["sum"]/df["金额"].sum()
format_dict = {'sum': '${0:,.0f}', '日期': '{:%Y-%m-%d}', '月占比': '{:.4%}'}
(
monthly_sales
.style
.format(format_dict)
.hide_index()
)
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row0_col0" class="data row0 col0" >2018-01-31</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row0_col1" class="data row0 col1" >$185,362</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row0_col2" class="data row0 col2" >9.1818%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row1_col0" class="data row1 col0" >2018-02-28</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row1_col1" class="data row1 col1" >$146,212</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row1_col2" class="data row1 col2" >7.2426%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row2_col0" class="data row2 col0" >2018-03-31</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row2_col1" class="data row2 col1" >$203,921</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row2_col2" class="data row2 col2" >10.1012%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row3_col0" class="data row3 col0" >2018-04-30</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row3_col1" class="data row3 col1" >$174,574</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row3_col2" class="data row3 col2" >8.6475%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row4_col0" class="data row4 col0" >2018-05-31</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row4_col1" class="data row4 col1" >$165,419</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row4_col2" class="data row4 col2" >8.1940%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row5_col0" class="data row5 col0" >2018-06-30</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row5_col1" class="data row5 col1" >$174,089</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row5_col2" class="data row5 col2" >8.6235%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row6_col0" class="data row6 col0" >2018-07-31</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row6_col1" class="data row6 col1" >$191,662</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row6_col2" class="data row6 col2" >9.4939%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row7_col0" class="data row7 col0" >2018-08-31</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row7_col1" class="data row7 col1" >$153,779</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row7_col2" class="data row7 col2" >7.6174%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row8_col0" class="data row8 col0" >2018-09-30</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row8_col1" class="data row8 col1" >$168,443</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row8_col2" class="data row8 col2" >8.3438%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row9_col0" class="data row9 col0" >2018-10-31</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row9_col1" class="data row9 col1" >$171,495</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row9_col2" class="data row9 col2" >8.4950%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row10_col0" class="data row10 col0" >2018-11-30</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row10_col1" class="data row10 col1" >$119,961</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row10_col2" class="data row10 col2" >5.9423%</td>
</tr>
<tr>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row11_col0" class="data row11 col0" >2018-12-31</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row11_col1" class="data row11 col1" >$163,867</td>
<td id="T_adf341e4_202d_11ea_af2c_cc2f7187c201row11_col2" class="data row11 col2" >8.1171%</td>
</tr>
</tbody></table>
by=[pd.Grouper(key='日期', freq='M')]
monthly_sales=df.groupby(by)["金额"].agg(["sum"]).reset_index()
monthly_sales["月占比"]=monthly_sales["sum"]/df["金额"].sum()
format_dict = {'sum': '${0:,.0f}', '日期': '{:%Y-%m-%d}', '月占比': '{:.4%}'}
(
monthly_sales
.style
.format(format_dict)
.hide_index()
.highlight_max(color="lightgreen")
.highlight_min(color="red")
)
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row0_col0" class="data row0 col0" >2018-01-31</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row0_col1" class="data row0 col1" >$185,362</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row0_col2" class="data row0 col2" >9.1818%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row1_col0" class="data row1 col0" >2018-02-28</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row1_col1" class="data row1 col1" >$146,212</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row1_col2" class="data row1 col2" >7.2426%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row2_col0" class="data row2 col0" >2018-03-31</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row2_col1" class="data row2 col1" >$203,921</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row2_col2" class="data row2 col2" >10.1012%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row3_col0" class="data row3 col0" >2018-04-30</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row3_col1" class="data row3 col1" >$174,574</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row3_col2" class="data row3 col2" >8.6475%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row4_col0" class="data row4 col0" >2018-05-31</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row4_col1" class="data row4 col1" >$165,419</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row4_col2" class="data row4 col2" >8.1940%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row5_col0" class="data row5 col0" >2018-06-30</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row5_col1" class="data row5 col1" >$174,089</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row5_col2" class="data row5 col2" >8.6235%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row6_col0" class="data row6 col0" >2018-07-31</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row6_col1" class="data row6 col1" >$191,662</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row6_col2" class="data row6 col2" >9.4939%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row7_col0" class="data row7 col0" >2018-08-31</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row7_col1" class="data row7 col1" >$153,779</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row7_col2" class="data row7 col2" >7.6174%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row8_col0" class="data row8 col0" >2018-09-30</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row8_col1" class="data row8 col1" >$168,443</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row8_col2" class="data row8 col2" >8.3438%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row9_col0" class="data row9 col0" >2018-10-31</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row9_col1" class="data row9 col1" >$171,495</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row9_col2" class="data row9 col2" >8.4950%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row10_col0" class="data row10 col0" >2018-11-30</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row10_col1" class="data row10 col1" >$119,961</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row10_col2" class="data row10 col2" >5.9423%</td>
</tr>
<tr>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row11_col0" class="data row11 col0" >2018-12-31</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row11_col1" class="data row11 col1" >$163,867</td>
<td id="T_c509ac4a_202d_11ea_9e55_cc2f7187c201row11_col2" class="data row11 col2" >8.1171%</td>
</tr>
</tbody></table>
by=[pd.Grouper(key='日期', freq='M')]
monthly_sales=df.groupby(by)["金额"].agg(["sum"]).reset_index()
monthly_sales["月占比"]=monthly_sales["sum"]/df["金额"].sum()
format_dict = {'sum': '${0:,.0f}', '日期': '{:%Y-%m-%d}', '月占比': '{:.4%}'}
(
monthly_sales
.style
.format(format_dict)
.background_gradient(subset=["sum"],cmap="PRGn")
)
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row0" class="row_heading level0 row0" >0</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row0_col0" class="data row0 col0" >2018-01-31</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row0_col1" class="data row0 col1" >$185,362</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row0_col2" class="data row0 col2" >9.1818%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row1" class="row_heading level0 row1" >1</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row1_col0" class="data row1 col0" >2018-02-28</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row1_col1" class="data row1 col1" >$146,212</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row1_col2" class="data row1 col2" >7.2426%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row2" class="row_heading level0 row2" >2</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row2_col0" class="data row2 col0" >2018-03-31</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row2_col1" class="data row2 col1" >$203,921</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row2_col2" class="data row2 col2" >10.1012%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row3" class="row_heading level0 row3" >3</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row3_col0" class="data row3 col0" >2018-04-30</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row3_col1" class="data row3 col1" >$174,574</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row3_col2" class="data row3 col2" >8.6475%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row4" class="row_heading level0 row4" >4</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row4_col0" class="data row4 col0" >2018-05-31</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row4_col1" class="data row4 col1" >$165,419</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row4_col2" class="data row4 col2" >8.1940%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row5" class="row_heading level0 row5" >5</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row5_col0" class="data row5 col0" >2018-06-30</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row5_col1" class="data row5 col1" >$174,089</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row5_col2" class="data row5 col2" >8.6235%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row6" class="row_heading level0 row6" >6</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row6_col0" class="data row6 col0" >2018-07-31</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row6_col1" class="data row6 col1" >$191,662</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row6_col2" class="data row6 col2" >9.4939%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row7" class="row_heading level0 row7" >7</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row7_col0" class="data row7 col0" >2018-08-31</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row7_col1" class="data row7 col1" >$153,779</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row7_col2" class="data row7 col2" >7.6174%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row8" class="row_heading level0 row8" >8</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row8_col0" class="data row8 col0" >2018-09-30</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row8_col1" class="data row8 col1" >$168,443</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row8_col2" class="data row8 col2" >8.3438%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row9" class="row_heading level0 row9" >9</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row9_col0" class="data row9 col0" >2018-10-31</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row9_col1" class="data row9 col1" >$171,495</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row9_col2" class="data row9 col2" >8.4950%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row10" class="row_heading level0 row10" >10</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row10_col0" class="data row10 col0" >2018-11-30</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row10_col1" class="data row10 col1" >$119,961</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row10_col2" class="data row10 col2" >5.9423%</td>
</tr>
<tr>
<th id="T_7f24e028_202e_11ea_9045_cc2f7187c201level0_row11" class="row_heading level0 row11" >11</th>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row11_col0" class="data row11 col0" >2018-12-31</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row11_col1" class="data row11 col1" >$163,867</td>
<td id="T_7f24e028_202e_11ea_9045_cc2f7187c201row11_col2" class="data row11 col2" >8.1171%</td>
</tr>
</tbody></table>
by=[pd.Grouper(key='日期', freq='M')]
monthly_sales=df.groupby(by)["金额"].agg(["sum"]).reset_index()
monthly_sales["月占比"]=monthly_sales["sum"]/df["金额"].sum()
format_dict = {'sum': '${0:,.0f}', '日期': '{:%Y-%m-%d}', '月占比': '{:.4%}'}
(
monthly_sales
.style
.format(format_dict)
.hide_index()
.bar(color="#FFA07A",vmin=100_000,subset=["sum"],align="zero")
.bar(color='lightblue', vmin=0, subset=['月占比'], align='zero')
.set_caption("2018年销售一览表")
)
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row0_col0" class="data row0 col0" >2018-01-31</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row0_col1" class="data row0 col1" >$185,362</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row0_col2" class="data row0 col2" >9.1818%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row1_col0" class="data row1 col0" >2018-02-28</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row1_col1" class="data row1 col1" >$146,212</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row1_col2" class="data row1 col2" >7.2426%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row2_col0" class="data row2 col0" >2018-03-31</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row2_col1" class="data row2 col1" >$203,921</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row2_col2" class="data row2 col2" >10.1012%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row3_col0" class="data row3 col0" >2018-04-30</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row3_col1" class="data row3 col1" >$174,574</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row3_col2" class="data row3 col2" >8.6475%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row4_col0" class="data row4 col0" >2018-05-31</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row4_col1" class="data row4 col1" >$165,419</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row4_col2" class="data row4 col2" >8.1940%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row5_col0" class="data row5 col0" >2018-06-30</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row5_col1" class="data row5 col1" >$174,089</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row5_col2" class="data row5 col2" >8.6235%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row6_col0" class="data row6 col0" >2018-07-31</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row6_col1" class="data row6 col1" >$191,662</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row6_col2" class="data row6 col2" >9.4939%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row7_col0" class="data row7 col0" >2018-08-31</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row7_col1" class="data row7 col1" >$153,779</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row7_col2" class="data row7 col2" >7.6174%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row8_col0" class="data row8 col0" >2018-09-30</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row8_col1" class="data row8 col1" >$168,443</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row8_col2" class="data row8 col2" >8.3438%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row9_col0" class="data row9 col0" >2018-10-31</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row9_col1" class="data row9 col1" >$171,495</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row9_col2" class="data row9 col2" >8.4950%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row10_col0" class="data row10 col0" >2018-11-30</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row10_col1" class="data row10 col1" >$119,961</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row10_col2" class="data row10 col2" >5.9423%</td>
</tr>
<tr>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row11_col0" class="data row11 col0" >2018-12-31</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row11_col1" class="data row11 col1" >$163,867</td>
<td id="T_e2b931d8_202e_11ea_8fb6_cc2f7187c201row11_col2" class="data row11 col2" >8.1171%</td>
</tr>
</tbody></table>
def sparkline_str(x):
bins=np.histogram(x)[0]
s1="".join(sparklines(bins))
return s1
sparkline_str.__name__ = "走势图"
df.groupby("姓名")["数量","金额"].agg(["mean",sparkline_str])
| 数量 | 金额 |
---|
| mean | 走势图 | mean | 走势图 |
---|
姓名 | | | | |
---|
Barton LLC | 24.890244 | ▄▄▃▂▃▆▄█▁▄ | 1334.615854 | █▄▃▆▄▄▁▁▁▁ |
Cronin, Oberbrunner and Spencer | 24.970149 | █▄▁▄▄▇▅▁▄▄ | 1339.321642 | █▅▅▃▃▃▂▂▁▁ |
Frami, Hills and Schmidt | 26.430556 | ▄▄▁▂▇█▂▂▅▅ | 1438.466528 | █▅▄▇▅▃▄▁▁▁ |
Fritsch, Russel and Anderson | 26.074074 | ▁▄▇▃▂▂█▃▄▄ | 1385.366790 | ▇█▃▄▂▂▁▂▁▁ |
Halvorson, Crona and Champlin | 22.137931 | ▇▆▆▇█▁▄▂▄▃ | 1206.971724 | ██▆▅▁▃▂▂▂▂ |
Herman LLC | 24.806452 | ▄▃▅▁▆▄▂▆▃█ | 1336.532258 | █▅▇▄▅▄▁▃▂▂ |
Jerde-Hilpert | 22.460674 | ▄▄█▁▂▅▃▂▄▃ | 1265.072247 | █▄▅▂▁▂▃▂▂▁ |
Kassulke, Ondricka and Metz | 25.734375 | ▂▂▁▁▂▂▁▅▄█ | 1350.797969 | █▆▆▄▄▃▂▁▁▂ |
Keeling LLC | 24.405405 | ▁▄▇▃▅█▃▄▃▆ | 1363.977027 | ▅█▆▃▄▂▂▁▁▁ |
Kiehn-Spinka | 22.227848 | ▃▂█▂▃▅▄▁▄▁ | 1260.870506 | █▇▄▃▃▂▁▂▁▁ |
Koepp Ltd | 21.829268 | ▅▇█▆▄▇▅▁▅▇ | 1264.152927 | █▇▅▂▄▂▂▂▁▁ |
Kuhn-Gusikowski | 22.808219 | ▂▄█▄▃▁█▄▂▄ | 1247.866849 | ▆█▄▃▃▃▃▁▁▁ |
Kulas Inc | 24.095745 | ▇▃▇▂▇▁▅▆█▆ | 1461.191064 | █▅█▂▄▄▄▂▁▁ |
Pollich LLC | 23.383562 | █▂▅▂▃▆▁▂▄▇ | 1196.536712 | █▆▆▃▃▃▂▂▁▁ |
Purdy-Kunde | 27.358491 | ▄▅█▁▄▇▅█▇█ | 1469.777547 | █▅▄▃▄▃▃▂▁▂ |
Sanford and Sons | 24.000000 | ▂▂▂▆▁█▂▂▁▅ | 1391.872958 | ▅▇█▃▃▄▁▃▁▂ |
Stokes LLC | 24.527778 | ▄▄▄▁▃▂▄█▄▄ | 1271.332222 | █▇▆▆▄▂▂▃▁▂ |
Trantow-Barrows | 24.159574 | ▅▄▅▂▃▃▄▄▁█ | 1312.567872 | █▇▅▆▃▂▂▁▁▁ |
White-Trantow | 26.255814 | ▃▂▆▆▃██▁██ | 1579.558023 | ▄█▆▅▄▃▄▂▁▃ |
Will LLC | 24.702703 | ▂█▁▄▄▄▂▅▅▄ | 1411.318919 | ▆█▄▅▄▂▁▂▁▂ |