Skip to content

Instantly share code, notes, and snippets.

@incidunt
Created March 12, 2019 15:50
Show Gist options
  • Save incidunt/1d36e3022d8c2fc42e3c5b20da57e166 to your computer and use it in GitHub Desktop.
Save incidunt/1d36e3022d8c2fc42e3c5b20da57e166 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"# 把上面的DataFrame转成Excel中数据透视表的形式,用于做热力图\n",
"\n",
"h=date_df.groupby([\"month\",\"year\"]).size().unstack(fill_value=0)\n",
"\n",
"# 或者如下亦可\n",
"# h=date_df.pivot_table(index=\"month\",columns=\"year\", aggfunc=\"count\").fillna(0)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>year</th>\n",
" <th>2004</th>\n",
" <th>2005</th>\n",
" <th>2006</th>\n",
" <th>2007</th>\n",
" <th>2008</th>\n",
" <th>2009</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" <th>2014</th>\n",
" <th>2015</th>\n",
" <th>2016</th>\n",
" <th>2017</th>\n",
" <th>2018</th>\n",
" </tr>\n",
" <tr>\n",
" <th>month</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>01</th>\n",
" <td>0</td>\n",
" <td>47</td>\n",
" <td>18</td>\n",
" <td>13</td>\n",
" <td>67</td>\n",
" <td>206</td>\n",
" <td>254</td>\n",
" <td>308</td>\n",
" <td>413</td>\n",
" <td>395</td>\n",
" <td>516</td>\n",
" <td>529</td>\n",
" <td>502</td>\n",
" <td>541</td>\n",
" <td>481</td>\n",
" </tr>\n",
" <tr>\n",
" <th>02</th>\n",
" <td>0</td>\n",
" <td>11</td>\n",
" <td>10</td>\n",
" <td>8</td>\n",
" <td>105</td>\n",
" <td>220</td>\n",
" <td>256</td>\n",
" <td>332</td>\n",
" <td>397</td>\n",
" <td>354</td>\n",
" <td>496</td>\n",
" <td>490</td>\n",
" <td>517</td>\n",
" <td>549</td>\n",
" <td>471</td>\n",
" </tr>\n",
" <tr>\n",
" <th>03</th>\n",
" <td>0</td>\n",
" <td>18</td>\n",
" <td>6</td>\n",
" <td>74</td>\n",
" <td>104</td>\n",
" <td>251</td>\n",
" <td>278</td>\n",
" <td>308</td>\n",
" <td>339</td>\n",
" <td>370</td>\n",
" <td>489</td>\n",
" <td>562</td>\n",
" <td>626</td>\n",
" <td>494</td>\n",
" <td>505</td>\n",
" </tr>\n",
" <tr>\n",
" <th>04</th>\n",
" <td>0</td>\n",
" <td>19</td>\n",
" <td>13</td>\n",
" <td>50</td>\n",
" <td>194</td>\n",
" <td>214</td>\n",
" <td>328</td>\n",
" <td>294</td>\n",
" <td>387</td>\n",
" <td>505</td>\n",
" <td>490</td>\n",
" <td>567</td>\n",
" <td>575</td>\n",
" <td>504</td>\n",
" <td>462</td>\n",
" </tr>\n",
" <tr>\n",
" <th>05</th>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>1</td>\n",
" <td>57</td>\n",
" <td>110</td>\n",
" <td>196</td>\n",
" <td>268</td>\n",
" <td>332</td>\n",
" <td>385</td>\n",
" <td>435</td>\n",
" <td>552</td>\n",
" <td>537</td>\n",
" <td>712</td>\n",
" <td>566</td>\n",
" <td>486</td>\n",
" </tr>\n",
" <tr>\n",
" <th>06</th>\n",
" <td>0</td>\n",
" <td>18</td>\n",
" <td>1</td>\n",
" <td>41</td>\n",
" <td>118</td>\n",
" <td>251</td>\n",
" <td>230</td>\n",
" <td>301</td>\n",
" <td>414</td>\n",
" <td>357</td>\n",
" <td>502</td>\n",
" <td>513</td>\n",
" <td>581</td>\n",
" <td>524</td>\n",
" <td>474</td>\n",
" </tr>\n",
" <tr>\n",
" <th>07</th>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>0</td>\n",
" <td>29</td>\n",
" <td>100</td>\n",
" <td>251</td>\n",
" <td>269</td>\n",
" <td>408</td>\n",
" <td>400</td>\n",
" <td>408</td>\n",
" <td>522</td>\n",
" <td>624</td>\n",
" <td>484</td>\n",
" <td>514</td>\n",
" <td>485</td>\n",
" </tr>\n",
" <tr>\n",
" <th>08</th>\n",
" <td>0</td>\n",
" <td>9</td>\n",
" <td>0</td>\n",
" <td>62</td>\n",
" <td>118</td>\n",
" <td>215</td>\n",
" <td>336</td>\n",
" <td>404</td>\n",
" <td>419</td>\n",
" <td>459</td>\n",
" <td>435</td>\n",
" <td>599</td>\n",
" <td>613</td>\n",
" <td>479</td>\n",
" <td>489</td>\n",
" </tr>\n",
" <tr>\n",
" <th>09</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>14</td>\n",
" <td>122</td>\n",
" <td>131</td>\n",
" <td>248</td>\n",
" <td>291</td>\n",
" <td>369</td>\n",
" <td>374</td>\n",
" <td>396</td>\n",
" <td>513</td>\n",
" <td>577</td>\n",
" <td>540</td>\n",
" <td>444</td>\n",
" <td>421</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>13</td>\n",
" <td>89</td>\n",
" <td>120</td>\n",
" <td>204</td>\n",
" <td>258</td>\n",
" <td>357</td>\n",
" <td>365</td>\n",
" <td>431</td>\n",
" <td>524</td>\n",
" <td>569</td>\n",
" <td>538</td>\n",
" <td>492</td>\n",
" <td>540</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>0</td>\n",
" <td>9</td>\n",
" <td>5</td>\n",
" <td>40</td>\n",
" <td>165</td>\n",
" <td>218</td>\n",
" <td>248</td>\n",
" <td>326</td>\n",
" <td>401</td>\n",
" <td>481</td>\n",
" <td>501</td>\n",
" <td>584</td>\n",
" <td>581</td>\n",
" <td>514</td>\n",
" <td>479</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>30</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>77</td>\n",
" <td>182</td>\n",
" <td>213</td>\n",
" <td>218</td>\n",
" <td>327</td>\n",
" <td>368</td>\n",
" <td>466</td>\n",
" <td>505</td>\n",
" <td>581</td>\n",
" <td>489</td>\n",
" <td>447</td>\n",
" <td>456</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"year 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 \\\n",
"month \n",
"01 0 47 18 13 67 206 254 308 413 395 516 529 \n",
"02 0 11 10 8 105 220 256 332 397 354 496 490 \n",
"03 0 18 6 74 104 251 278 308 339 370 489 562 \n",
"04 0 19 13 50 194 214 328 294 387 505 490 567 \n",
"05 0 14 1 57 110 196 268 332 385 435 552 537 \n",
"06 0 18 1 41 118 251 230 301 414 357 502 513 \n",
"07 0 10 0 29 100 251 269 408 400 408 522 624 \n",
"08 0 9 0 62 118 215 336 404 419 459 435 599 \n",
"09 0 1 14 122 131 248 291 369 374 396 513 577 \n",
"10 0 2 13 89 120 204 258 357 365 431 524 569 \n",
"11 0 9 5 40 165 218 248 326 401 481 501 584 \n",
"12 30 2 1 77 182 213 218 327 368 466 505 581 \n",
"\n",
"year 2016 2017 2018 \n",
"month \n",
"01 502 541 481 \n",
"02 517 549 471 \n",
"03 626 494 505 \n",
"04 575 504 462 \n",
"05 712 566 486 \n",
"06 581 524 474 \n",
"07 484 514 485 \n",
"08 613 479 489 \n",
"09 540 444 421 \n",
"10 538 492 540 \n",
"11 581 514 479 \n",
"12 489 447 456 "
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1440x576 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"plt.figure(figsize=(20,8))\n",
"ax = sns.heatmap(h)\n",
"ax.set_xlabel(xlabel='Year', fontsize=16)\n",
"ax.set_ylabel(ylabel='Month', fontsize=16)\n",
"ax.set_title(label='how many plugins added to wordpress.org every month', fontsize=20)\n",
"plt.show();\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment