{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", "%store -r the_editor\n", "\n", "if 'the_editor' not in locals():\n", " import pickle\n", " print(\"Loading default data...\")\n", " the_editor = pickle.load(open(\"data/the_editor.p\",'rb'))\n", "\n", "the_editor.to_frame('value')\n", "\n", "from IPython.display import display, Markdown as md\n", "display(md(\"---\"))\n", "display(md(f\"# A. Actions per editor\"))\n", "display(md(f\"***Editor: {the_editor['name']}***\"))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from wikiwho_wrapper import WikiWho\n", "import pandas as pd\n", "\n", "wikiwho = WikiWho(lng='en')\n", "agg_actions = wikiwho.dv.actions(editor_id = the_editor.userid)\n", "\n", "# convert to datetime\n", "agg_actions['year_month'] = pd.to_datetime(agg_actions['year_month'])\n", "\n", "# define total columns\n", "total_columns = ['total', 'total_surv_48h', 'total_persistent', 'total_stopword_count']\n", "\n", "# add columns with the total actions\n", "agg_actions = agg_actions.join(pd.DataFrame(\n", " agg_actions.loc[:,'adds':'adds_stopword_count'].values +\\\n", " agg_actions.loc[:,'dels':'dels_stopword_count'].values +\\\n", " agg_actions.loc[:,'reins':'reins_stopword_count'].values, \n", " index=agg_actions.index, \n", " columns=total_columns\n", "))\n", "\n", "\n", "import qgrid\n", "qgrid.set_grid_option('maxVisibleRows', 5)\n", "qgrid.show_grid(agg_actions[['year_month', 'page_id'] + total_columns])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Listener\n", "from visualization.actions_listener import ActionsListener\n", "listener = ActionsListener(agg_actions)\n", "\n", "actions = (agg_actions.loc[:,'total':'total_stopword_count'].columns.append(\n", " agg_actions.loc[:,'adds':'reins_stopword_count'].columns)).values.tolist()\n", "\n", "\n", "# Visualization\n", "from utils.notebooks import get_date_slider_from_datetime\n", "from ipywidgets import interact, fixed\n", "from ipywidgets.widgets import Dropdown\n", "\n", "interact(listener.listen, \n", " _range = get_date_slider_from_datetime(agg_actions['year_month']),\n", " editor=fixed('All'),\n", " granularity=Dropdown(options=['Yearly', 'Monthly'], value='Monthly'),\n", " black=Dropdown(options=actions, value='total'), \n", " red=Dropdown(options= ['None'] + actions, value='total_surv_48h'),\n", " green=Dropdown(options= ['None'] + actions, value='None'), \n", " blue=Dropdown(options= ['None'] + actions, value='None'))\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from IPython.display import HTML\n", "from utils.notebooks import get_next_notebook\n", "\n", "display(HTML(f'Go to next workbook'))" ] } ], "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.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }