diff --git a/src/explore.ipynb b/src/explore.ipynb
index a4da28a20aa26a09ee9a20d6cb5e6ef11f8a27ee..35c0d00fd3ae2b1152892e0f401015e06f4fd94c 100644
--- a/src/explore.ipynb
+++ b/src/explore.ipynb
@@ -1545,7 +1545,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 42,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [
     {
@@ -1570,8 +1570,8 @@
        "94.181.170.143                             247\n",
        "Theadityapratap                            239\n",
        "94.181.156.128                             229\n",
-       "93.124.46.78                               222\n",
        "Achat cialis                               222\n",
+       "93.124.46.78                               222\n",
        "93.124.28.116                              213\n",
        "176.97.116.140                             202\n",
        "5.165.186.39                               192\n",
@@ -1582,40 +1582,40 @@
        "37.113.28.187                              185\n",
        "64.62.219.98                               180\n",
        "                                          ... \n",
-       "Dharmendra780                                1\n",
-       "Robertdenningraider13                        1\n",
-       "SLCHT                                        1\n",
-       "2601:153:700:6870:B8D9:5791:192D:1DAE        1\n",
-       "59.96.9.214                                  1\n",
-       "207.32.26.5                                  1\n",
-       "208.61.1.124                                 1\n",
-       "149.126.106.19                               1\n",
-       "121.216.118.139                              1\n",
-       "HegerLoyneszhFG                              1\n",
-       "2607:FB90:1903:33F9:4C08:6E2:70C7:20F6       1\n",
-       "Clutchmaster163955                           1\n",
-       "86.160.200.85                                1\n",
-       "38.78.194.51                                 1\n",
-       "69.174.87.60                                 1\n",
-       "PujolBoatmanJvfh                             1\n",
-       "89.240.83.117                                1\n",
-       "MarrowWylyLRFj                               1\n",
-       "173.31.204.16                                1\n",
-       "PettigrewSparacioETJg                        1\n",
-       "Ednopsniwagn                                 1\n",
-       "Kevinfigs                                    1\n",
-       "162.228.50.214                               1\n",
-       "LoeberArelUVURo                              1\n",
-       "50.82.26.116                                 1\n",
-       "Kaileefiles                                  1\n",
-       "Bestraight                                   1\n",
-       "Dexon Software                               1\n",
-       "203.59.81.156                                1\n",
-       "119.154.88.171                               1\n",
+       "2602:306:3449:D8B0:1D59:35A1:E776:9D24       1\n",
+       "65.30.148.79                                 1\n",
+       "100.11.133.143                               1\n",
+       "178.20.148.10                                1\n",
+       "CanalesHakansonKLaM                          1\n",
+       "BreslinMuckleoAhV                            1\n",
+       "CalisePopielsxeFt                            1\n",
+       "2605:E000:5B04:C000:F8CB:904:9135:B38C       1\n",
+       "2601:981:C002:EE25:B01D:3AD9:A364:7018       1\n",
+       "Flyingfalconer                               1\n",
+       "CharliBaughman0                              1\n",
+       "Nicholaslimmm                                1\n",
+       "Elvis783929030                               1\n",
+       "207.170.199.15                               1\n",
+       "166.170.57.137                               1\n",
+       "Cagonhenrio                                  1\n",
+       "FawnHib4113                                  1\n",
+       "110.138.157.45                               1\n",
+       "66.177.171.107                               1\n",
+       "Deepanshubhati                               1\n",
+       "BernardiAllgeyergBLB                         1\n",
+       "197.156.81.2                                 1\n",
+       "2605:6001:E605:5700:7527:2E8C:D4A:EB12       1\n",
+       "81.148.221.230                               1\n",
+       "Marems79                                     1\n",
+       "14.98.111.171                                1\n",
+       "2601:1C0:4000:F7:411F:C606:F304:B28C         1\n",
+       "VincentFrisina                               1\n",
+       "FranceBramwellMyFNS                          1\n",
+       "Abhishekhegde11502                           1\n",
        "Name: afl_user_text, Length: 139586, dtype: int64"
       ]
      },
-     "execution_count": 42,
+     "execution_count": 6,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1637,25 +1637,483 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 49,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [
     {
-     "ename": "AttributeError",
-     "evalue": "'DataFrame' object has no attribute 'value_counts'",
-     "output_type": "error",
-     "traceback": [
-      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
-      "\u001b[0;32m<ipython-input-49-7bf774e7d58b>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;31m# Try to intersect users with actions/pages\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mdf_jan2016\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'afl_user_text'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'afl_action'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalue_counts\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
-      "\u001b[0;32m~/uni/ma-arbeit-filters/src/env3/lib/python3.6/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m__getattr__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m   4374\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   4375\u001b[0m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 4376\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   4377\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   4378\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'value_counts'"
-     ]
+     "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></th>\n",
+       "      <th>afl_user_text</th>\n",
+       "      <th>afl_action</th>\n",
+       "      <th>0</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>141604</th>\n",
+       "      <td>ï¾ ï¾ ï¾ ï¾ ï¾ ï¾ ï¾ ï¾ ï¾ </td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141603</th>\n",
+       "      <td>ï¾ ï¾ ï¾ </td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141602</th>\n",
+       "      <td>RIEAKI</td>\n",
+       "      <td>edit</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141601</th>\n",
+       "      <td>해림김수진</td>\n",
+       "      <td>edit</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141600</th>\n",
+       "      <td>타설현황</td>\n",
+       "      <td>edit</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141599</th>\n",
+       "      <td>지드라공</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141598</th>\n",
+       "      <td>지드라곤</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>3</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141597</th>\n",
+       "      <td>이강민2</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141596</th>\n",
+       "      <td>박강준</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141595</th>\n",
+       "      <td>鹿晗7</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>3</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141594</th>\n",
+       "      <td>鹏徙北冥</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141593</th>\n",
+       "      <td>鴻途</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>4</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141592</th>\n",
+       "      <td>鱼雨玉</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141591</th>\n",
+       "      <td>鱼粑粑.</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141590</th>\n",
+       "      <td>é±¼.</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141589</th>\n",
+       "      <td>高欣-与七书</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141588</th>\n",
+       "      <td>飞奔的油桶</td>\n",
+       "      <td>edit</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141587</th>\n",
+       "      <td>風動雲華微卷</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>3</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141586</th>\n",
+       "      <td>韋情</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141585</th>\n",
+       "      <td>雨良辰</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>4</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141584</th>\n",
+       "      <td>陈守二</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141583</th>\n",
+       "      <td>阳懿轩</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141582</th>\n",
+       "      <td>闫致敬</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141581</th>\n",
+       "      <td>里雅也</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141580</th>\n",
+       "      <td>邹鸿</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141579</th>\n",
+       "      <td>邱繼群</td>\n",
+       "      <td>edit</td>\n",
+       "      <td>4</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141578</th>\n",
+       "      <td>邪门歪道</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141577</th>\n",
+       "      <td>邓小平</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141576</th>\n",
+       "      <td>邓一苇</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>4</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>141575</th>\n",
+       "      <td>辣笔小球</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>...</th>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>29</th>\n",
+       "      <td>'hkvbjkv</td>\n",
+       "      <td>edit</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>28</th>\n",
+       "      <td>'O.o)wlnight</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>27</th>\n",
+       "      <td>'Cheery sunny</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>26</th>\n",
+       "      <td>$owndharyaS</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>25</th>\n",
+       "      <td>$owmiyaR</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>24</th>\n",
+       "      <td>$owmeyaksr</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>23</th>\n",
+       "      <td>$owmeya</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>22</th>\n",
+       "      <td>$nade</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>21</th>\n",
+       "      <td>$hubham20</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>20</th>\n",
+       "      <td>$eek. 4</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>15</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>19</th>\n",
+       "      <td>$akash$</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>18</th>\n",
+       "      <td>$SomenewInTown$</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>17</th>\n",
+       "      <td>$Kartik$13</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>3</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>16</th>\n",
+       "      <td>$CEC 02$</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>15</th>\n",
+       "      <td>$$pistel$$</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>14</th>\n",
+       "      <td>$$Killagang100$$</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>13</th>\n",
+       "      <td>$$$killagang300$$$</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>12</th>\n",
+       "      <td>\"enteryourusername\"isadumbusername</td>\n",
+       "      <td>edit</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>11</th>\n",
+       "      <td>\"To bring engineering to the heart of society\"</td>\n",
+       "      <td>edit</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>10</th>\n",
+       "      <td>\"Rushikeshraje\"</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>9</th>\n",
+       "      <td>\"Rushikesh\"</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>8</th>\n",
+       "      <td>\"Prince of Fortune</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>7</th>\n",
+       "      <td>!trimitemipemata</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>6</th>\n",
+       "      <td>!ceMaan</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>5</th>\n",
+       "      <td>!WKatie</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4</th>\n",
+       "      <td>!Hasil!</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>! marrich !</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>! ma75rrich !</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>! m4rrich19 !</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>3</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>! m4rrich !</td>\n",
+       "      <td>createaccount</td>\n",
+       "      <td>4</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "<p>141605 rows × 3 columns</p>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                                         afl_user_text     afl_action   0\n",
+       "141604                                       ï¾ ï¾ ï¾ ï¾ ï¾ ï¾ ï¾ ï¾ ï¾   createaccount   1\n",
+       "141603                                             ï¾ ï¾ ï¾   createaccount   1\n",
+       "141602                                          RIEAKI           edit   1\n",
+       "141601                                           해림김수진           edit   2\n",
+       "141600                                            타설현황           edit   2\n",
+       "141599                                            지드라공  createaccount   2\n",
+       "141598                                            지드라곤  createaccount   3\n",
+       "141597                                            이강민2  createaccount   2\n",
+       "141596                                             박강준  createaccount   2\n",
+       "141595                                             鹿晗7  createaccount   3\n",
+       "141594                                            鹏徙北冥  createaccount   2\n",
+       "141593                                              鴻途  createaccount   4\n",
+       "141592                                             鱼雨玉  createaccount   1\n",
+       "141591                                            鱼粑粑.  createaccount   1\n",
+       "141590                                              é±¼.  createaccount   2\n",
+       "141589                                          高欣-与七书  createaccount   2\n",
+       "141588                                           飞奔的油桶           edit   2\n",
+       "141587                                          風動雲華微卷  createaccount   3\n",
+       "141586                                              韋情  createaccount   2\n",
+       "141585                                             雨良辰  createaccount   4\n",
+       "141584                                             陈守二  createaccount   1\n",
+       "141583                                             阳懿轩  createaccount   1\n",
+       "141582                                             闫致敬  createaccount   1\n",
+       "141581                                             里雅也  createaccount   2\n",
+       "141580                                              邹鸿  createaccount   1\n",
+       "141579                                             邱繼群           edit   4\n",
+       "141578                                            邪门歪道  createaccount   2\n",
+       "141577                                             邓小平  createaccount   1\n",
+       "141576                                             邓一苇  createaccount   4\n",
+       "141575                                            辣笔小球  createaccount   1\n",
+       "...                                                ...            ...  ..\n",
+       "29                                            'hkvbjkv           edit   2\n",
+       "28                                        'O.o)wlnight  createaccount   2\n",
+       "27                                       'Cheery sunny  createaccount   2\n",
+       "26                                         $owndharyaS  createaccount   1\n",
+       "25                                            $owmiyaR  createaccount   1\n",
+       "24                                          $owmeyaksr  createaccount   1\n",
+       "23                                             $owmeya  createaccount   1\n",
+       "22                                               $nade  createaccount   2\n",
+       "21                                           $hubham20  createaccount   1\n",
+       "20                                             $eek. 4  createaccount  15\n",
+       "19                                             $akash$  createaccount   1\n",
+       "18                                     $SomenewInTown$  createaccount   1\n",
+       "17                                          $Kartik$13  createaccount   3\n",
+       "16                                            $CEC 02$  createaccount   1\n",
+       "15                                          $$pistel$$  createaccount   1\n",
+       "14                                    $$Killagang100$$  createaccount   1\n",
+       "13                                  $$$killagang300$$$  createaccount   2\n",
+       "12                  \"enteryourusername\"isadumbusername           edit   1\n",
+       "11      \"To bring engineering to the heart of society\"           edit   2\n",
+       "10                                     \"Rushikeshraje\"  createaccount   1\n",
+       "9                                          \"Rushikesh\"  createaccount   1\n",
+       "8                                   \"Prince of Fortune  createaccount   1\n",
+       "7                                     !trimitemipemata  createaccount   1\n",
+       "6                                              !ceMaan  createaccount   1\n",
+       "5                                              !WKatie  createaccount   1\n",
+       "4                                              !Hasil!  createaccount   1\n",
+       "3                                          ! marrich !  createaccount   2\n",
+       "2                                        ! ma75rrich !  createaccount   2\n",
+       "1                                        ! m4rrich19 !  createaccount   3\n",
+       "0                                          ! m4rrich !  createaccount   4\n",
+       "\n",
+       "[141605 rows x 3 columns]"
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
     }
    ],
    "source": [
     "# Try to intersect users with actions/pages\n",
-    "df_jan2016[['afl_user_text', 'afl_action']].value_counts() "
+    "grouped = df_jan2016.groupby(['afl_user_text','afl_action']).size().reset_index()\n",
+    "grouped.sort_index(ascending=False)"
    ]
   },
   {
@@ -6363,13 +6821,15 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "Mh. The comparison is not really insightful. It's just a proportionally smaller numbers of all actions."
+    "Mh. The comparison is not really insightful. It's just a proportionally smaller numbers of all actions. That's not exactly true though. The edits ration is 2/3, whereas the createaccount ration is 1/3 (3 being the Jan values)"
    ]
   },
   {
    "cell_type": "code",
    "execution_count": 48,
-   "metadata": {},
+   "metadata": {
+    "scrolled": true
+   },
    "outputs": [
     {
      "data": {
@@ -6455,6 +6915,433 @@
     "The comparison of number of edits per user reveals that in January there were a couple of particularly active IPs. It would be interesting to know what they were trying to do. (Answer: they were spamming.)"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Filter hits Februrary 2016"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 34,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "edit                 298610\n",
+       "createaccount         67721\n",
+       "move                    282\n",
+       "gatheredit               18\n",
+       "autocreateaccount         5\n",
+       "delete                    1\n",
+       "Name: afl_action, dtype: int64"
+      ]
+     },
+     "execution_count": 34,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df_feb2016 = pd.read_csv(\"quarry-37514-abuselog-entries-en-wiki-in-february-2016-run389412.csv\", sep=',')\n",
+    "\n",
+    "# Number of hits per editor's actions\n",
+    "df_feb2016['afl_action'].value_counts()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Again, quite a high createaccount counts.."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 36,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "UserLogin                                        67726\n",
+       "Bob_Ezrin                                          816\n",
+       "Billboard_(magazine)                               576\n",
+       "WikiProject_Film                                   404\n",
+       "Bulletin_board_system                              362\n",
+       "Skateboard                                         334\n",
+       "Board_game                                         249\n",
+       "Randy_Gardner_(record_holder)                      234\n",
+       "Computer_keyboard                                  186\n",
+       "Tripoli_under_Italian_rule                         163\n",
+       "Snowboarding                                       137\n",
+       "Rameez_Raja                                        136\n",
+       "British_Board_of_Film_Classification               133\n",
+       "Reserve_Forces_Policy_Board                        131\n",
+       "Undertale                                          128\n",
+       "Nadeshot                                           127\n",
+       "Carolina_Panthers                                  122\n",
+       "The_Life_of_Pablo                                  116\n",
+       "Achinoam_Nini                                      114\n",
+       "Jonathan_Scott_(politician)                        113\n",
+       "Keyboard_instrument                                111\n",
+       "New_York_Jets                                      109\n",
+       "WikiProject_India                                  109\n",
+       "Harry_Roque                                        106\n",
+       "March_to_WrestleMania:_Live_from_Toronto           106\n",
+       "Rhetoric                                           100\n",
+       "Ernst_von_Glasersfeld                               98\n",
+       "Bad_Aibling_rail_accident                           96\n",
+       "Trihex                                              95\n",
+       "Antonin_Scalia                                      95\n",
+       "                                                 ...  \n",
+       "Synergy                                              1\n",
+       "Ford_Mustang_(second_generation)                     1\n",
+       "List_of_Storage_Wars_episodes                        1\n",
+       "Rotation_around_a_fixed_axis                         1\n",
+       "Ashurst_Wood                                         1\n",
+       "Pillar_coral                                         1\n",
+       "Josh_Freeman                                         1\n",
+       "Jacques_Lecoq                                        1\n",
+       "A_Bar_at_the_Folies-Bergère                          1\n",
+       "Morgana_Robinson                                     1\n",
+       "Laurelwood_Pub_and_Brewery                           1\n",
+       "Results_of_the_Tasmanian_state_election,_1931        1\n",
+       "Mactan–Cebu_International_Airport                    1\n",
+       "Johann_Reinhold_Forster                              1\n",
+       "Battle_of_Saragarhi                                  1\n",
+       "Improvised_explosive_device                          1\n",
+       "Malabar_region                                       1\n",
+       "The_Girl_Is_Mine_(99_Souls_song)                     1\n",
+       "Frappuccino                                          1\n",
+       "Passive_Wi-Fi                                        1\n",
+       "The_Hunting_Ground                                   1\n",
+       "Craig_Dawson                                         1\n",
+       "20th_Century_Fox_Television                          1\n",
+       "County_roads_in_St._Croix_County,_Wisconsin          1\n",
+       "Marco_Scandella                                      1\n",
+       "Shajal_Noor                                          1\n",
+       "Made_in_America_(The_Carpenters_album)               1\n",
+       "Chinkhoy                                             1\n",
+       "Yamato_1                                             1\n",
+       "Plutocracy                                           1\n",
+       "Name: afl_title, Length: 89050, dtype: int64"
+      ]
+     },
+     "execution_count": 36,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Number of hits per intended edit page\n",
+    "df_feb2016['afl_title'].value_counts()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 37,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "95.152.10.186            920\n",
+       "37.113.42.202            707\n",
+       "5.166.253.56             336\n",
+       "RichardEi                286\n",
+       "Achat cialis             241\n",
+       "46.188.71.226            236\n",
+       "93.124.87.217            212\n",
+       "176.212.131.244          201\n",
+       "5.167.191.123            197\n",
+       "95.152.49.234            191\n",
+       "95.152.40.97             178\n",
+       "94.181.143.54            176\n",
+       "95.152.9.227             169\n",
+       "Prix cialis              166\n",
+       "Acheter cialis           157\n",
+       "41.225.84.56             155\n",
+       "46.118.114.195           149\n",
+       "Elisa314                 146\n",
+       "93.124.114.195           145\n",
+       "Brightgalrs              144\n",
+       "125.238.47.82            144\n",
+       "95.152.32.236            143\n",
+       "5.167.177.64             137\n",
+       "93.124.107.61            136\n",
+       "109.162.125.254          131\n",
+       "AlButch                  128\n",
+       "93.124.42.25             127\n",
+       "84.90.219.128            123\n",
+       "95.152.15.40             117\n",
+       "117.68.217.44            117\n",
+       "                        ... \n",
+       "CinnamonFishbackCMxls      1\n",
+       "5.103.226.148              1\n",
+       "Shalom Delmar              1\n",
+       "40.134.150.205             1\n",
+       "188.29.164.213             1\n",
+       "Wayure                     1\n",
+       "107.145.96.252             1\n",
+       "50.4.131.152               1\n",
+       "Bonadae                    1\n",
+       "MontandonSamitWLOY         1\n",
+       "Daddy Doggy                1\n",
+       "87.21.243.230              1\n",
+       "Moby223                    1\n",
+       "GronerPedenJsxEW           1\n",
+       "119.30.35.166              1\n",
+       "StraughnHormannfdTy        1\n",
+       "BellinLoricklqyB           1\n",
+       "172.56.2.39                1\n",
+       "101.127.44.164             1\n",
+       "151.181.44.210             1\n",
+       "Cosgrove360                1\n",
+       "FeyMenghinihngD            1\n",
+       "5.68.199.202               1\n",
+       "BarryBell677               1\n",
+       "109.86.209.75              1\n",
+       "WildCherry06               1\n",
+       "M12333S                    1\n",
+       "StadelmanDacostajPLu       1\n",
+       "99.98.168.9                1\n",
+       "Djthunda                   1\n",
+       "Name: afl_user_text, Length: 134875, dtype: int64"
+      ]
+     },
+     "execution_count": 37,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Number of hits per editor\n",
+    "df_feb2016['afl_user_text'].value_counts() #TODO intersect users with actions/pages"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "An inquiry into 95.152.10.186's edits shows, it's same viagra spam as in January. Some of the top named accounts: \"Prix cialis\" ,\"Acheter cialis\" and \"Achat cialis\" sound very similar to the viagra spam domains, so it's probably socks of the same thing"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Filter hits March 2016"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "edit                 308138\n",
+       "createaccount         51812\n",
+       "move                    352\n",
+       "autocreateaccount        23\n",
+       "delete                    2\n",
+       "Name: afl_action, dtype: int64"
+      ]
+     },
+     "execution_count": 38,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df_mar2016 = pd.read_csv(\"quarry-37515-abuselog-entries-en-wiki-in-march-2016-run389414.csv\", sep=',')\n",
+    "\n",
+    "# Number of hits per editor's actions\n",
+    "df_mar2016['afl_action'].value_counts()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Again, quite a high createaccount counts.."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "UserLogin                                           51835\n",
+       "209.236.119.231                                      2221\n",
+       "Skateboard                                            718\n",
+       "Billboard_(magazine)                                  629\n",
+       "WikiProject_Film                                      592\n",
+       "Bulletin_board_system                                 561\n",
+       "Jason_Rothenberg_(television_producer)                501\n",
+       "Snowboarding                                          435\n",
+       "Board_game                                            387\n",
+       "Reserve_Forces_Policy_Board                           355\n",
+       "British_Board_of_Film_Classification                  334\n",
+       "Dvorak_Simplified_Keyboard                            327\n",
+       "UFC_196                                               270\n",
+       "WikiProject_India                                     239\n",
+       "Computer_keyboard                                     228\n",
+       "Sandbox                                               223\n",
+       "Board_of_directors                                    197\n",
+       "Josh_Boden                                            172\n",
+       "WikiProject_Radio_Stations                            167\n",
+       "Keyboard_layout                                       167\n",
+       "Nate_Diaz                                             165\n",
+       "Harry_Potter                                          160\n",
+       "Printed_circuit_board                                 159\n",
+       "Baseboard                                             152\n",
+       "Ed_Miliband                                           146\n",
+       "WikiProject_Football                                  146\n",
+       "Storyboard                                            145\n",
+       "Boarding_school                                       134\n",
+       "Cumming_v._Richmond_County_Board_of_Education         131\n",
+       "Entertainment_Software_Rating_Board                   128\n",
+       "                                                    ...  \n",
+       "United_States_Senate_election_in_Louisiana,_2016        1\n",
+       "Traditional_Bachata                                     1\n",
+       "Park_Bom                                                1\n",
+       "Allison_Janney                                          1\n",
+       "Peyman_Yazdanian                                        1\n",
+       "Juliahatsmakemehappy                                    1\n",
+       "Yamaha_TDM_900                                          1\n",
+       "Arrested_Development_(TV_series)                        1\n",
+       "Julia_Lennon                                            1\n",
+       "Nalin_Kohli                                             1\n",
+       "History_of_archaeology                                  1\n",
+       "Charlene,_Princess_of_Monaco                            1\n",
+       "Garners_Beach,_Queensland                               1\n",
+       "Dahanayake                                              1\n",
+       "Rugrats_Go_Wild                                         1\n",
+       "Medifast                                                1\n",
+       "Echo_Fox                                                1\n",
+       "Rounding                                                1\n",
+       "Jubilant_FoodWorks                                      1\n",
+       "Overcrowding                                            1\n",
+       "Voices_(Kenny_Thomas_album)                             1\n",
+       "Drayton_Plains_State_Fish_Hatchery                      1\n",
+       "Haystack_Mountain_(Pennsylvania)                        1\n",
+       "Outline_of_North_Carolina                               1\n",
+       "Percent-encoding                                        1\n",
+       "Abdullah_Ahmad_Badawi                                   1\n",
+       "Goodfella_Sound_Productions_Inc.                        1\n",
+       "L.Flank/sandbox                                         1\n",
+       "O'Neill_dynasty                                         1\n",
+       "SBS_Drama_Special                                       1\n",
+       "Name: afl_title, Length: 92925, dtype: int64"
+      ]
+     },
+     "execution_count": 39,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Number of hits per intended edit page\n",
+    "df_mar2016['afl_title'].value_counts()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 40,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "89.178.195.212                        2928\n",
+       "209.236.119.231                       2225\n",
+       "93.124.100.71                         1101\n",
+       "RichardEi                              529\n",
+       "176.213.105.10                         487\n",
+       "Acheter viagra                         476\n",
+       "95.152.29.103                          379\n",
+       "Achat viagra                           376\n",
+       "95.152.37.178                          358\n",
+       "95.152.4.24                            327\n",
+       "94.181.137.245                         309\n",
+       "95.152.57.6                            308\n",
+       "5.166.246.166                          299\n",
+       "37.113.22.196                          271\n",
+       "110.89.8.214                           259\n",
+       "37.113.26.96                           257\n",
+       "95.152.20.130                          257\n",
+       "178.137.160.82                         245\n",
+       "37.113.37.4                            242\n",
+       "65.128.133.116                         234\n",
+       "95.152.8.13                            223\n",
+       "95.152.34.153                          222\n",
+       "110.89.17.186                          218\n",
+       "93.124.84.96                           184\n",
+       "Gsaibudsagjj8is                        179\n",
+       "5.167.188.42                           177\n",
+       "70.71.88.88                            173\n",
+       "GoldRingChip                           170\n",
+       "95.152.50.38                           164\n",
+       "185.130.5.163                          160\n",
+       "                                      ... \n",
+       "DaveCorwin166                            1\n",
+       "80.111.184.119                           1\n",
+       "Manjeet singh sadiwal                    1\n",
+       "76.14.179.68                             1\n",
+       "Sajinsaj                                 1\n",
+       "94.192.203.169                           1\n",
+       "Jasmine.Yangtse                          1\n",
+       "Michael A. Bucci                         1\n",
+       "111.94.75.209                            1\n",
+       "86.130.35.243                            1\n",
+       "Cb1991                                   1\n",
+       "50.83.178.234                            1\n",
+       "Benw2016                                 1\n",
+       "109.180.106.121                          1\n",
+       "87.158.11.164                            1\n",
+       "GildaColls20                             1\n",
+       "RyceLowensteinAYyq                       1\n",
+       "213.205.252.218                          1\n",
+       "Vinyar                                   1\n",
+       "2601:247:301:7F:8F8:97B1:3EC1:E225       1\n",
+       "36.253.255.51                            1\n",
+       "47.55.219.181                            1\n",
+       "184.6.47.251                             1\n",
+       "Jmnewcomer                               1\n",
+       "216.73.65.90                             1\n",
+       "152.93.202.203                           1\n",
+       "CanadianBands                            1\n",
+       "Sonu420                                  1\n",
+       "CraigPosadasNdita                        1\n",
+       "173.51.99.200                            1\n",
+       "Name: afl_user_text, Length: 127124, dtype: int64"
+      ]
+     },
+     "execution_count": 40,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Number of hits per editor\n",
+    "df_mar2016['afl_user_text'].value_counts() #TODO intersect users with actions/pages"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Ui,89.178.195.212 is something new: oxycothyn paragraphs instead of viagra links.. And RichardEi lässt grüßen"
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -7077,8 +7964,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 54,
-   "metadata": {},
+   "execution_count": 12,
+   "metadata": {
+    "scrolled": true
+   },
    "outputs": [
     {
      "name": "stdout",
@@ -7156,28 +8045,165 @@
     "    print(df_actions_year.fillna('log only'))"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Where does this data come from? It looks kind of fishy that there are \"disallow,tag\" but not \"warn,tag\" actions, where there are a bunch of filters with \"warn,tag\" actions set."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 33,
+   "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></th>\n",
+       "      <th>LogYear</th>\n",
+       "      <th>FilterActions</th>\n",
+       "      <th>Freq</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>2019-01-01 00:00:00</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>18</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>2018-01-01 00:00:00</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>71</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>2017-01-01 00:00:00</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>961</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>2016-01-01 00:00:00</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>27752</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4</th>\n",
+       "      <td>2015-01-01 00:00:00</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>36971</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>5</th>\n",
+       "      <td>2014-01-01 00:00:00</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>3970</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>6</th>\n",
+       "      <td>2010-01-01 00:00:00</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>24</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>7</th>\n",
+       "      <td>2009-01-01 00:00:00</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>321</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>8</th>\n",
+       "      <td>2013-01-01</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>9</th>\n",
+       "      <td>2012-01-01</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>10</th>\n",
+       "      <td>2011-01-01</td>\n",
+       "      <td>disallow,tag</td>\n",
+       "      <td>0</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "                LogYear FilterActions   Freq\n",
+       "0   2019-01-01 00:00:00  disallow,tag     18\n",
+       "1   2018-01-01 00:00:00  disallow,tag     71\n",
+       "2   2017-01-01 00:00:00  disallow,tag    961\n",
+       "3   2016-01-01 00:00:00  disallow,tag  27752\n",
+       "4   2015-01-01 00:00:00  disallow,tag  36971\n",
+       "5   2014-01-01 00:00:00  disallow,tag   3970\n",
+       "6   2010-01-01 00:00:00  disallow,tag     24\n",
+       "7   2009-01-01 00:00:00  disallow,tag    321\n",
+       "8            2013-01-01  disallow,tag      0\n",
+       "9            2012-01-01  disallow,tag      0\n",
+       "10           2011-01-01  disallow,tag      0"
+      ]
+     },
+     "execution_count": 33,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "#df_actions_year.fillna('log only')[df_actions_year [\"FilterActions\"]== \"log only\"]\n",
+    "test = df_actions_year.fillna('log only').query('FilterActions==\"disallow,tag\"')\n",
+    "df2 = pd.DataFrame([['2013-01-01', 'disallow,tag', 0], ['2012-01-01', 'disallow,tag', 0], ['2011-01-01', 'disallow,tag', 0]], columns=['LogYear', 'FilterActions', 'Freq'])\n",
+    "test.append(df2, ignore_index=True)"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 56,
+   "execution_count": 30,
    "metadata": {},
    "outputs": [
     {
-     "ename": "TypeError",
-     "evalue": "ufunc subtract cannot use operands with types dtype('<M8[ns]') and dtype('float64')",
+     "ename": "ValueError",
+     "evalue": "shape mismatch: objects cannot be broadcast to a single shape",
      "output_type": "error",
      "traceback": [
       "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
-      "\u001b[0;32m<ipython-input-56-f24e07750944>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      6\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxticks\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrotation\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'20'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      7\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mylabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Num filters'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx_values\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      9\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;32m~/uni/ma-arbeit-filters/src/env3/lib/python3.6/site-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36mbar\u001b[0;34m(x, height, width, bottom, align, data, **kwargs)\u001b[0m\n\u001b[1;32m   2455\u001b[0m     return gca().bar(\n\u001b[1;32m   2456\u001b[0m         \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mheight\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwidth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbottom\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbottom\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0malign\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0malign\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2457\u001b[0;31m         **({\"data\": data} if data is not None else {}), **kwargs)\n\u001b[0m\u001b[1;32m   2458\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2459\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
+      "\u001b[0;32m<ipython-input-30-c11e9b229550>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     11\u001b[0m \u001b[0mp3\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mind\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf_actions_year\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfillna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'log only'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mquery\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'FilterActions==\"warn\"'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Freq'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbottom\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     12\u001b[0m \u001b[0mp4\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mind\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf_actions_year\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfillna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'log only'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mquery\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'FilterActions==\"disallow\"'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Freq'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbottom\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0mp5\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mind\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m4\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf_actions_year\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfillna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'log only'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mquery\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'FilterActions==\"disallow,tag\"'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Freq'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbottom\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     14\u001b[0m \u001b[0mp6\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mind\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m5\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf_actions_year\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfillna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'log only'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mquery\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'FilterActions==\"blockautopromote,tag\"'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Freq'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbottom\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     15\u001b[0m \u001b[0mp7\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mind\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m6\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf_actions_year\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfillna\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'log only'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mquery\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'FilterActions==\"blockautopromote\"'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Freq'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbottom\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
       "\u001b[0;32m~/uni/ma-arbeit-filters/src/env3/lib/python3.6/site-packages/matplotlib/__init__.py\u001b[0m in \u001b[0;36minner\u001b[0;34m(ax, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m   1808\u001b[0m                         \u001b[0;34m\"the Matplotlib list!)\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mlabel_namer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1809\u001b[0m                         RuntimeWarning, stacklevel=2)\n\u001b[0;32m-> 1810\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1811\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1812\u001b[0m         inner.__doc__ = _add_data_doc(inner.__doc__,\n",
-      "\u001b[0;32m~/uni/ma-arbeit-filters/src/env3/lib/python3.6/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mbar\u001b[0;34m(self, x, height, width, bottom, align, **kwargs)\u001b[0m\n\u001b[1;32m   2275\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0malign\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'center'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2276\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0morientation\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'vertical'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2277\u001b[0;31m                 \u001b[0mleft\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mwidth\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2278\u001b[0m                 \u001b[0mbottom\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2279\u001b[0m             \u001b[0;32melif\u001b[0m \u001b[0morientation\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'horizontal'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
-      "\u001b[0;31mTypeError\u001b[0m: ufunc subtract cannot use operands with types dtype('<M8[ns]') and dtype('float64')"
+      "\u001b[0;32m~/uni/ma-arbeit-filters/src/env3/lib/python3.6/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mbar\u001b[0;34m(self, x, height, width, bottom, align, **kwargs)\u001b[0m\n\u001b[1;32m   2249\u001b[0m         x, height, width, y, linewidth = np.broadcast_arrays(\n\u001b[1;32m   2250\u001b[0m             \u001b[0;31m# Make args iterable too.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2251\u001b[0;31m             np.atleast_1d(x), height, width, y, linewidth)\n\u001b[0m\u001b[1;32m   2252\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2253\u001b[0m         \u001b[0;31m# Now that units have been converted, set the tick locations.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/uni/ma-arbeit-filters/src/env3/lib/python3.6/site-packages/numpy/lib/stride_tricks.py\u001b[0m in \u001b[0;36mbroadcast_arrays\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m    250\u001b[0m     \u001b[0margs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_m\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubok\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msubok\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0m_m\u001b[0m \u001b[0;32min\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    251\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 252\u001b[0;31m     \u001b[0mshape\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_broadcast_shape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    253\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    254\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mall\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mshape\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0marray\u001b[0m \u001b[0;32min\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;32m~/uni/ma-arbeit-filters/src/env3/lib/python3.6/site-packages/numpy/lib/stride_tricks.py\u001b[0m in \u001b[0;36m_broadcast_shape\u001b[0;34m(*args)\u001b[0m\n\u001b[1;32m    185\u001b[0m     \u001b[0;31m# use the old-iterator because np.nditer does not handle size 0 arrays\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    186\u001b[0m     \u001b[0;31m# consistently\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 187\u001b[0;31m     \u001b[0mb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbroadcast\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m32\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    188\u001b[0m     \u001b[0;31m# unfortunately, it cannot handle 32 or more arguments directly\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    189\u001b[0m     \u001b[0;32mfor\u001b[0m \u001b[0mpos\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m32\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m31\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;31mValueError\u001b[0m: shape mismatch: objects cannot be broadcast to a single shape"
      ]
     },
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 432x288 with 1 Axes>"
       ]
@@ -7189,14 +8215,32 @@
     }
    ],
    "source": [
-    "#ap_actions_labels = [x[0] for x in active_public_actions]\n",
-    "x_values = df_actions_year['LogYear']\n",
-    "y_values = df_actions_year['Freq']\n",
+    "# Trying to plot a grouped bar chart\n",
+    "\n",
+    "N = 11\n",
+    "\n",
+    "fig, ax = plt.subplots()\n",
+    "\n",
+    "ind = np.arange(N)    # the x locations for the groups\n",
+    "width = 0.2         # the width of the bars\n",
+    "p1 = ax.bar(ind, df_actions_year.fillna('log only').query('FilterActions==\"log only\"')['Freq'], width, bottom=0)\n",
+    "p2 = ax.bar(ind + width, df_actions_year.fillna('log only').query('FilterActions==\"tag\"')['Freq'], width, bottom=0)\n",
+    "p3 = ax.bar(ind + 2*width, df_actions_year.fillna('log only').query('FilterActions==\"warn\"')['Freq'], width, bottom=0)\n",
+    "p4 = ax.bar(ind + 3*width, df_actions_year.fillna('log only').query('FilterActions==\"disallow\"')['Freq'], width, bottom=0)\n",
+    "p5 = ax.bar(ind + 4*width, df_actions_year.fillna('log only').query('FilterActions==\"disallow,tag\"')['Freq'], width, bottom=0)\n",
+    "p6 = ax.bar(ind + 5*width, df_actions_year.fillna('log only').query('FilterActions==\"blockautopromote,tag\"')['Freq'], width, bottom=0)\n",
+    "p7 = ax.bar(ind + 6*width, df_actions_year.fillna('log only').query('FilterActions==\"blockautopromote\"')['Freq'], width, bottom=0)\n",
+    "p8 = ax.bar(ind + 7*width, df_actions_year.fillna('log only').query('FilterActions==\"aftv5flagabuse\"')['Freq'], width, bottom=0)\n",
     "\n",
     "plt.xlabel('actions')\n",
     "plt.xticks(rotation='20')\n",
     "plt.ylabel('Num filters')\n",
-    "plt.bar(x_values, y_values)\n",
+    "ax.set_title('Scores by group and gender')\n",
+    "ax.set_xticks(ind + 8*width / 9)\n",
+    "ax.set_xticklabels(('2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018', '2019'))\n",
+    "\n",
+    "ax.legend((p1[0], p2[0], p3[0], p4[0], p5[0], p6[0], p7[0], p8[0]), ('log only', 'tag', 'warn', 'disallow', 'disallow,tag', 'blockautopromote,tag', 'blockautopromote', 'aftv5flagabuse'))\n",
+    "ax.autoscale_view()\n",
     "plt.show()"
    ]
   },