2017-2018/Notes/302/Analyse DS5.ipynb

1758 lines
135 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Analyse du ds 5 pour les 302"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import sqlite3\n",
"import pandas as pd\n",
"import numpy as np\n",
"from math import ceil\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"from pprint import pprint"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from repytex.tools.evaluation import Evaluation"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"db = \"../recopytex.db\"\n",
"conn = sqlite3.connect(db)\n",
"c = conn.cursor()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"La tribu des 302 (id = 1)\n"
]
}
],
"source": [
"tribe_name = \"302\"\n",
"tribe_id = c.execute(\"SELECT id from tribe WHERE tribe.name == ?\", (tribe_name,)).fetchone()[0]\n",
"print(f\"La tribu des {tribe_name} (id = {tribe_id})\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Liste des évaluations:\n",
" - DS1 mise en jambe (id = 1)\n",
" - DS2 (id = 5)\n",
" - Pyramide de pièces (id = 8)\n",
" - DS3 (id = 10)\n",
" - DM noel (id = 14)\n",
" - DS4 (id = 16)\n",
" - DNB blanc1 (id = 21)\n",
" - DS5 (id = 29)\n",
" - Téléphérique (id = 30)\n"
]
}
],
"source": [
"evals = c.execute(\"SELECT id, name from eval WHERE eval.tribe_id == ?\", (tribe_id,))\n",
"print(\"Liste des évaluations:\")\n",
"for e in evals:\n",
" print(f\" - {e[1]} (id = {e[0]})\")"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<eval DS5 for 302>"
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ev_id = 29\n",
"ev = Evaluation.from_sqlite(ev_id, conn)\n",
"ev"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Il semble qu'il y est des doublons"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"q_sc_df = ev.sc_df.set_index(\"id\")"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['question_id', 'student_id', 'value'], dtype='object')"
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q_sc_df.columns"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"question_id 2285\n",
"student_id 2285\n",
"value 2285\n",
"dtype: int64"
]
},
"execution_count": 84,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q_sc_df.count()"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>question_id</th>\n",
" <th>student_id</th>\n",
" </tr>\n",
" <tr>\n",
" <th>id</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>7917</th>\n",
" <td>302</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7918</th>\n",
" <td>303</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7919</th>\n",
" <td>304</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7920</th>\n",
" <td>302</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7921</th>\n",
" <td>303</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" question_id student_id\n",
"id \n",
"7917 302 1\n",
"7918 303 1\n",
"7919 304 1\n",
"7920 302 2\n",
"7921 303 2"
]
},
"execution_count": 85,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"qst_filtered = q_sc_df[q_sc_df.duplicated(['question_id', 'student_id'], keep='first')]\n",
"qst_filtered[['question_id', 'student_id']].head()"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>question_id</th>\n",
" <th>student_id</th>\n",
" <th>value</th>\n",
" </tr>\n",
" <tr>\n",
" <th>id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>10616</th>\n",
" <td>327</td>\n",
" <td>26</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" question_id student_id value\n",
"id \n",
"10616 327 26 2"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"qst_filtered.tail(1)"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"question_id 1600\n",
"student_id 1600\n",
"value 1600\n",
"dtype: int64"
]
},
"execution_count": 87,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q_sc_df[q_sc_df.duplicated(['question_id', 'student_id', 'value'], keep='last')].count()"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"26"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(q_sc_df[\"question_id\"].unique())"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"25"
]
},
"execution_count": 89,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(q_sc_df[\"student_id\"].unique())"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"650"
]
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"26 * 25"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Donc j'ai des notes qui sont differentes pour un même élève sur une même questions...\n",
"\n",
"Je veux maintenant trouver ces notes."
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"student_id question_id\n",
"10 310 {0, 1}\n",
"12 309 {1, 2}\n",
"13 311 {2, 3}\n",
"14 303 {2, 3}\n",
"16 313 {2, 3}\n",
"Name: value, dtype: object"
]
},
"execution_count": 91,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gped_sc = q_sc_df.groupby([\"student_id\", \"question_id\"])['value'].apply(set)\n",
"gped_sc[gped_sc.apply(lambda x: len(x) != 1)].head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On garde la dernière note enregistrée"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def keep_last(df):\n",
" return df.sort_index().tail(1)"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>student_id</th>\n",
" <th>question_id</th>\n",
" <th>value</th>\n",
" </tr>\n",
" <tr>\n",
" <th>id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>8079</th>\n",
" <td>1</td>\n",
" <td>302</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8080</th>\n",
" <td>1</td>\n",
" <td>303</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8081</th>\n",
" <td>1</td>\n",
" <td>304</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8484</th>\n",
" <td>1</td>\n",
" <td>305</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8485</th>\n",
" <td>1</td>\n",
" <td>306</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" student_id question_id value\n",
"id \n",
"8079 1 302 2\n",
"8080 1 303 2\n",
"8081 1 304 1\n",
"8484 1 305 3\n",
"8485 1 306 1"
]
},
"execution_count": 93,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"gped_sc = q_sc_df.groupby([\"student_id\", \"question_id\"])['value'].apply(keep_last)\n",
"q_sc_df = gped_sc.reset_index().set_index(\"id\")\n",
"q_sc_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 147,
"metadata": {},
"outputs": [],
"source": [
"q_sc_df['fullname_st'] = q_sc_df[['name_st', 'surname_st']].apply(lambda x: \" \".join(x), axis=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Recalcul des notes et compétences"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Jointure avec la dataframe sur les élèves"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['id', 'name_st', 'surname_st', 'mail_st', 'commment_st', 'tribe_id'], dtype='object')"
]
},
"execution_count": 94,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"st_df = ev.s_df\n",
"st_df.columns = st_df.columns.map(lambda x: f\"{x}_st\" if 'id' not in x else x)\n",
"st_df.columns"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>student_id</th>\n",
" <th>question_id</th>\n",
" <th>value</th>\n",
" <th>id</th>\n",
" <th>name_st</th>\n",
" <th>surname_st</th>\n",
" <th>mail_st</th>\n",
" <th>commment_st</th>\n",
" <th>tribe_id</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>302</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ABDALLAH ALLAOUI</td>\n",
" <td>Taiassima</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>303</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ABDALLAH ALLAOUI</td>\n",
" <td>Taiassima</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>304</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>ABDALLAH ALLAOUI</td>\n",
" <td>Taiassima</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>305</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>ABDALLAH ALLAOUI</td>\n",
" <td>Taiassima</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>306</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>ABDALLAH ALLAOUI</td>\n",
" <td>Taiassima</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" student_id question_id value id name_st surname_st mail_st \\\n",
"0 1 302 2 1 ABDALLAH ALLAOUI Taiassima \n",
"1 1 303 2 1 ABDALLAH ALLAOUI Taiassima \n",
"2 1 304 1 1 ABDALLAH ALLAOUI Taiassima \n",
"3 1 305 3 1 ABDALLAH ALLAOUI Taiassima \n",
"4 1 306 1 1 ABDALLAH ALLAOUI Taiassima \n",
"\n",
" commment_st tribe_id \n",
"0 None 1 \n",
"1 None 1 \n",
"2 None 1 \n",
"3 None 1 \n",
"4 None 1 "
]
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q_sc_df = q_sc_df.merge(st_df, left_on=\"student_id\", right_on=\"id\", suffixes=(\"\", \"_st\"))\n",
"q_sc_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Jointure avec la dataframe sur les questions"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['id', 'name_q', 'score_rate_q', 'is_leveled_q', 'exercise_id',\n",
" 'competence_q', 'domain_q', 'comment_q'],\n",
" dtype='object')"
]
},
"execution_count": 96,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q_df = ev.q_df\n",
"q_df.columns = q_df.columns.map(lambda x: f\"{x}_q\" if 'id' not in x else x)\n",
"q_df.columns"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>student_id</th>\n",
" <th>question_id</th>\n",
" <th>value</th>\n",
" <th>id</th>\n",
" <th>name_st</th>\n",
" <th>surname_st</th>\n",
" <th>mail_st</th>\n",
" <th>commment_st</th>\n",
" <th>tribe_id</th>\n",
" <th>id_q</th>\n",
" <th>name_q</th>\n",
" <th>score_rate_q</th>\n",
" <th>is_leveled_q</th>\n",
" <th>exercise_id</th>\n",
" <th>competence_q</th>\n",
" <th>domain_q</th>\n",
" <th>comment_q</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>645</th>\n",
" <td>23</td>\n",
" <td>331</td>\n",
" <td>3</td>\n",
" <td>23</td>\n",
" <td>MOUSSRI</td>\n",
" <td>Bakari</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" <td>331</td>\n",
" <td></td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>102</td>\n",
" <td>Com</td>\n",
" <td>Présentation</td>\n",
" <td>Présentation de la copie</td>\n",
" </tr>\n",
" <tr>\n",
" <th>646</th>\n",
" <td>24</td>\n",
" <td>331</td>\n",
" <td>3</td>\n",
" <td>24</td>\n",
" <td>SAÏD</td>\n",
" <td>Fatoumia</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" <td>331</td>\n",
" <td></td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>102</td>\n",
" <td>Com</td>\n",
" <td>Présentation</td>\n",
" <td>Présentation de la copie</td>\n",
" </tr>\n",
" <tr>\n",
" <th>647</th>\n",
" <td>25</td>\n",
" <td>331</td>\n",
" <td>3</td>\n",
" <td>25</td>\n",
" <td>SAKOTRA</td>\n",
" <td>Claudiana</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" <td>331</td>\n",
" <td></td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>102</td>\n",
" <td>Com</td>\n",
" <td>Présentation</td>\n",
" <td>Présentation de la copie</td>\n",
" </tr>\n",
" <tr>\n",
" <th>648</th>\n",
" <td>26</td>\n",
" <td>331</td>\n",
" <td>3</td>\n",
" <td>26</td>\n",
" <td>TOUFAIL</td>\n",
" <td>Salahou</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" <td>331</td>\n",
" <td></td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>102</td>\n",
" <td>Com</td>\n",
" <td>Présentation</td>\n",
" <td>Présentation de la copie</td>\n",
" </tr>\n",
" <tr>\n",
" <th>649</th>\n",
" <td>76</td>\n",
" <td>331</td>\n",
" <td>3</td>\n",
" <td>76</td>\n",
" <td>Ibrahim</td>\n",
" <td>Chaharzade</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" <td>331</td>\n",
" <td></td>\n",
" <td>10</td>\n",
" <td>1</td>\n",
" <td>102</td>\n",
" <td>Com</td>\n",
" <td>Présentation</td>\n",
" <td>Présentation de la copie</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" student_id question_id value id name_st surname_st mail_st \\\n",
"645 23 331 3 23 MOUSSRI Bakari \n",
"646 24 331 3 24 SAÏD Fatoumia \n",
"647 25 331 3 25 SAKOTRA Claudiana \n",
"648 26 331 3 26 TOUFAIL Salahou \n",
"649 76 331 3 76 Ibrahim Chaharzade \n",
"\n",
" commment_st tribe_id id_q name_q score_rate_q is_leveled_q \\\n",
"645 None 1 331 10 1 \n",
"646 None 1 331 10 1 \n",
"647 None 1 331 10 1 \n",
"648 None 1 331 10 1 \n",
"649 None 1 331 10 1 \n",
"\n",
" exercise_id competence_q domain_q comment_q \n",
"645 102 Com Présentation Présentation de la copie \n",
"646 102 Com Présentation Présentation de la copie \n",
"647 102 Com Présentation Présentation de la copie \n",
"648 102 Com Présentation Présentation de la copie \n",
"649 102 Com Présentation Présentation de la copie "
]
},
"execution_count": 97,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q_sc_df = q_sc_df.merge(q_df, left_on=\"question_id\", right_on=\"id\", suffixes=(\"\", \"_q\"))\n",
"q_sc_df.tail()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Calcul des notes"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"q_sc_df[\"value_no_dot\"] = q_sc_df[\"value\"].replace('.', 0)"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"q_sc_df[\"mark\"] = q_sc_df[\"score_rate_q\"] * q_sc_df[\"value_no_dot\"] / 3"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['student_id', 'question_id', 'value', 'id', 'name_st', 'surname_st',\n",
" 'mail_st', 'commment_st', 'tribe_id', 'id_q', 'name_q', 'score_rate_q',\n",
" 'is_leveled_q', 'exercise_id', 'competence_q', 'domain_q', 'comment_q',\n",
" 'value_no_dot', 'mark'],\n",
" dtype='object')"
]
},
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q_sc_df.columns"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>score_rate_q</th>\n",
" <th>mark</th>\n",
" </tr>\n",
" <tr>\n",
" <th>student_id</th>\n",
" <th>exercise_id</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"7\" valign=\"top\">1</th>\n",
" <th>95</th>\n",
" <td>12</td>\n",
" <td>6.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>10</td>\n",
" <td>5.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>17</td>\n",
" <td>4.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>18</td>\n",
" <td>4.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>18</td>\n",
" <td>7.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>100</th>\n",
" <td>15</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>102</th>\n",
" <td>10</td>\n",
" <td>10.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">2</th>\n",
" <th>95</th>\n",
" <td>12</td>\n",
" <td>6.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>10</td>\n",
" <td>4.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>17</td>\n",
" <td>9.666667</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" score_rate_q mark\n",
"student_id exercise_id \n",
"1 95 12 6.666667\n",
" 96 10 5.333333\n",
" 97 17 4.000000\n",
" 98 18 4.000000\n",
" 99 18 7.000000\n",
" 100 15 1.000000\n",
" 102 10 10.000000\n",
"2 95 12 6.666667\n",
" 96 10 4.666667\n",
" 97 17 9.666667"
]
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q_sc_df.groupby(['student_id', 'exercise_id'])[[\"score_rate_q\", 'mark']].sum().head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Voila... j'ai les notes..."
]
},
{
"cell_type": "code",
"execution_count": 179,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>score_rate_q</th>\n",
" <th>mark</th>\n",
" </tr>\n",
" <tr>\n",
" <th>fullname_st</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>ABDALLAH ALLAOUI Taiassima</th>\n",
" <td>100</td>\n",
" <td>38.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ADANI Ismou</th>\n",
" <td>100</td>\n",
" <td>60.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADI Asbahati</th>\n",
" <td>100</td>\n",
" <td>43.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMADI OUSSENI Ansufiddine</th>\n",
" <td>100</td>\n",
" <td>25.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHAMED Fayadhi</th>\n",
" <td>100</td>\n",
" <td>31.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AHMED SAID Hadaïta</th>\n",
" <td>100</td>\n",
" <td>62.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ALI MADI Anissa</th>\n",
" <td>100</td>\n",
" <td>77.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ALI Raydel</th>\n",
" <td>100</td>\n",
" <td>62.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ATTOUMANE ALI Fatima</th>\n",
" <td>100</td>\n",
" <td>42.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BACHIROU Elzame</th>\n",
" <td>100</td>\n",
" <td>21.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BINALI Zalida</th>\n",
" <td>100</td>\n",
" <td>63.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BOINA Abdillah Mze Limassi</th>\n",
" <td>100</td>\n",
" <td>69.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BOUDRA Zaankidine</th>\n",
" <td>100</td>\n",
" <td>35.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BOURA Kayssoiria</th>\n",
" <td>100</td>\n",
" <td>44.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HALADI Asna</th>\n",
" <td>100</td>\n",
" <td>68.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HALIDI Soibrata</th>\n",
" <td>100</td>\n",
" <td>37.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>HAMEDALY Doulkifly</th>\n",
" <td>100</td>\n",
" <td>34.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>IBRAHIM Nassur</th>\n",
" <td>100</td>\n",
" <td>56.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ibrahim Chaharzade</th>\n",
" <td>100</td>\n",
" <td>50.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MOHAMED Nadia</th>\n",
" <td>100</td>\n",
" <td>51.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MOUHOUDHOIRE Izak</th>\n",
" <td>100</td>\n",
" <td>36.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MOUSSRI Bakari</th>\n",
" <td>100</td>\n",
" <td>24.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SAKOTRA Claudiana</th>\n",
" <td>100</td>\n",
" <td>52.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SAÏD Fatoumia</th>\n",
" <td>100</td>\n",
" <td>58.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>TOUFAIL Salahou</th>\n",
" <td>100</td>\n",
" <td>56.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" score_rate_q mark\n",
"fullname_st \n",
"ABDALLAH ALLAOUI Taiassima 100 38.000000\n",
"ADANI Ismou 100 60.333333\n",
"AHAMADI Asbahati 100 43.666667\n",
"AHAMADI OUSSENI Ansufiddine 100 25.000000\n",
"AHAMED Fayadhi 100 31.666667\n",
"AHMED SAID Hadaïta 100 62.000000\n",
"ALI MADI Anissa 100 77.666667\n",
"ALI Raydel 100 62.333333\n",
"ATTOUMANE ALI Fatima 100 42.000000\n",
"BACHIROU Elzame 100 21.666667\n",
"BINALI Zalida 100 63.000000\n",
"BOINA Abdillah Mze Limassi 100 69.333333\n",
"BOUDRA Zaankidine 100 35.666667\n",
"BOURA Kayssoiria 100 44.000000\n",
"HALADI Asna 100 68.666667\n",
"HALIDI Soibrata 100 37.333333\n",
"HAMEDALY Doulkifly 100 34.666667\n",
"IBRAHIM Nassur 100 56.666667\n",
"Ibrahim Chaharzade 100 50.333333\n",
"MOHAMED Nadia 100 51.666667\n",
"MOUHOUDHOIRE Izak 100 36.666667\n",
"MOUSSRI Bakari 100 24.000000\n",
"SAKOTRA Claudiana 100 52.666667\n",
"SAÏD Fatoumia 100 58.333333\n",
"TOUFAIL Salahou 100 56.000000"
]
},
"execution_count": 179,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mark_df = q_sc_df.groupby(['fullname_st'])[[\"score_rate_q\", 'mark']].sum()\n",
"mark_df"
]
},
{
"cell_type": "code",
"execution_count": 192,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([<matplotlib.axes._subplots.AxesSubplot object at 0x7f153c0b35f8>], dtype=object)"
]
},
"execution_count": 192,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nPAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f153be4e0f0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.set_xlim([0, 100])\n",
"mark_df.hist(\"mark\",bins=20, ax=ax)"
]
},
{
"cell_type": "code",
"execution_count": 197,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f1539c2f7b8>"
]
},
"execution_count": 197,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1539c91e10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mark_df[\"mark\"].plot.kde()"
]
},
{
"cell_type": "code",
"execution_count": 193,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 25.000000\n",
"mean 48.133333\n",
"std 15.323064\n",
"min 21.666667\n",
"25% 36.666667\n",
"50% 50.333333\n",
"75% 60.333333\n",
"max 77.666667\n",
"Name: mark, dtype: float64"
]
},
"execution_count": 193,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mark_df['mark'].describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Comparaison entre compétences brutes et coefficientés"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>student_id</th>\n",
" <th>question_id</th>\n",
" <th>value</th>\n",
" <th>id</th>\n",
" <th>name_st</th>\n",
" <th>surname_st</th>\n",
" <th>mail_st</th>\n",
" <th>commment_st</th>\n",
" <th>tribe_id</th>\n",
" <th>id_q</th>\n",
" <th>name_q</th>\n",
" <th>score_rate_q</th>\n",
" <th>is_leveled_q</th>\n",
" <th>exercise_id</th>\n",
" <th>competence_q</th>\n",
" <th>domain_q</th>\n",
" <th>comment_q</th>\n",
" <th>value_no_dot</th>\n",
" <th>mark</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>302</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>ABDALLAH ALLAOUI</td>\n",
" <td>Taiassima</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" <td>302</td>\n",
" <td></td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>95</td>\n",
" <td>Rep</td>\n",
" <td>Proba</td>\n",
" <td>Calculer une probabilité</td>\n",
" <td>2</td>\n",
" <td>2.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>302</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>ADANI</td>\n",
" <td>Ismou</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" <td>302</td>\n",
" <td></td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>95</td>\n",
" <td>Rep</td>\n",
" <td>Proba</td>\n",
" <td>Calculer une probabilité</td>\n",
" <td>2</td>\n",
" <td>2.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4</td>\n",
" <td>302</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>AHAMADI</td>\n",
" <td>Asbahati</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" <td>302</td>\n",
" <td></td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>95</td>\n",
" <td>Rep</td>\n",
" <td>Proba</td>\n",
" <td>Calculer une probabilité</td>\n",
" <td>2</td>\n",
" <td>2.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>5</td>\n",
" <td>302</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>AHAMADI OUSSENI</td>\n",
" <td>Ansufiddine</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" <td>302</td>\n",
" <td></td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>95</td>\n",
" <td>Rep</td>\n",
" <td>Proba</td>\n",
" <td>Calculer une probabilité</td>\n",
" <td>3</td>\n",
" <td>4.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>6</td>\n",
" <td>302</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>AHAMED</td>\n",
" <td>Fayadhi</td>\n",
" <td></td>\n",
" <td>None</td>\n",
" <td>1</td>\n",
" <td>302</td>\n",
" <td></td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>95</td>\n",
" <td>Rep</td>\n",
" <td>Proba</td>\n",
" <td>Calculer une probabilité</td>\n",
" <td>3</td>\n",
" <td>4.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" student_id question_id value id name_st surname_st mail_st \\\n",
"0 1 302 2 1 ABDALLAH ALLAOUI Taiassima \n",
"1 2 302 2 2 ADANI Ismou \n",
"2 4 302 2 4 AHAMADI Asbahati \n",
"3 5 302 3 5 AHAMADI OUSSENI Ansufiddine \n",
"4 6 302 3 6 AHAMED Fayadhi \n",
"\n",
" commment_st tribe_id id_q name_q score_rate_q is_leveled_q exercise_id \\\n",
"0 None 1 302 4 1 95 \n",
"1 None 1 302 4 1 95 \n",
"2 None 1 302 4 1 95 \n",
"3 None 1 302 4 1 95 \n",
"4 None 1 302 4 1 95 \n",
"\n",
" competence_q domain_q comment_q value_no_dot mark \n",
"0 Rep Proba Calculer une probabilité 2 2.666667 \n",
"1 Rep Proba Calculer une probabilité 2 2.666667 \n",
"2 Rep Proba Calculer une probabilité 2 2.666667 \n",
"3 Rep Proba Calculer une probabilité 3 4.000000 \n",
"4 Rep Proba Calculer une probabilité 3 4.000000 "
]
},
"execution_count": 110,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q_sc_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Bilan des compétences sans coefficients"
]
},
{
"cell_type": "code",
"execution_count": 141,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def value_mean(df):\n",
" df_ = df.replace(\".\", 0)\n",
" return round(df_[\"value\"].mean(), 0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Bilan avec les coefficients"
]
},
{
"cell_type": "code",
"execution_count": 152,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def mark_mean(df):\n",
" df_ = df.replace(\".\", 0)\n",
" mark_sum = df_[\"mark\"].sum() * 3\n",
" rate_sum = df_[\"score_rate_q\"].sum()\n",
" try:\n",
" return round(mark_sum / rate_sum, 0)\n",
" except ZeroDivisionError:\n",
" return np.nan"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Bilan des compétences"
]
},
{
"cell_type": "code",
"execution_count": 156,
"metadata": {},
"outputs": [],
"source": [
"comp_value_df = q_sc_df.groupby(['fullname_st', \"competence_q\"]).apply(value_mean).unstack()"
]
},
{
"cell_type": "code",
"execution_count": 157,
"metadata": {},
"outputs": [],
"source": [
"comp_mark_df = q_sc_df.groupby(['fullname_st', \"competence_q\"]).apply(mark_mean).unstack()"
]
},
{
"cell_type": "code",
"execution_count": 195,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f153b92a6d8>"
]
},
"execution_count": 195,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArsAAAIoCAYAAABpkSNvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XucFNWd///Xe2ZgACEogkNEApFFjYqCaBJcCGD0G9ZL\nBMXLLFmjGxb9bRI2cWPImkSJRIKauAm4JgJG0RDReEMkq+IFR+INUGAUBUHASyIqGhYBuUx/fn/U\naSybnltPzXTT83k+Hjy66tSpT52qnj58+vTpapkZzjnnnHPOFaOSfDfAOeecc8655uLJrnPOOeec\nK1qe7DrnnHPOuaLlya5zzjnnnCtanuw655xzzrmi5cmuc84555wrWp7sOuecc865ouXJrnPOOeec\nK1qe7DrnnHPOuaLlya5zzjnnnCtaZflugHMtpOh/F9sWjkkkjobNBpYmEgsGAsm2LalY6XhJnmvy\nbStqyncDclDU/Ughv7YAtn7lsESi7Ve1uqDP1fuRRmlQP+Iju84555xzrmh5suucc84554qWJ7vO\nOeecc65o+Zxd51qBy2etY2H1Zg7sVMa8K49ucryqquVcffVtpFIpzjlnOOPGfb0g2tZaztO5fCjU\n15cO6k755deiLl3BjF3z7mT33bfl3K5CPc/maFtr0eIju5JGSjJJR8TKekvaLmmZpOWSnpZ0eNg2\nTNJmSS9KWiWpStLpWeIukzQno+xWSaMzynpLeqmWtpVJek/SlIzyhZKOb0iMsP17kj6W1DlWNkzS\ng1nqfip2xrZfS3pbUklG+UhJKyS9Iqla0siGtDVbGyR9LVy7ZZI+Ctd4maRaewpJPSXdWdv2xpJ0\ntaThScVzexs1qCszxvdNJFZNTYqrrrqFmTN/yPz51/Hgg0+zZs1bBdG21nKezuVDwb6+amrYeeMU\ntl9wKtsvOZc2o8agXn1yblvBnmfCbWtN8jGNoRJYFB7j1ppZfzM7FpgFXB7b9pSZDTCzw4HxwA2S\nvpreKOkLQCkwRNJ+TWjbKcBq4BxJTfmmcCWwGDgr1wAhwR0FvAkMjZUfC/wSONPMvgB8HfilpGNy\nOY6ZPRyue39gCTAmrF9Qxz5vmtl5uRyvlng/NrMnkorn9nbCYZ3o3CGZD3JWrFhDr14V9OxZQdu2\nZZx22iAeeyz3byIn2bbWcp7O5UOhvr5s03ukVq+MVrZvJbVhLepWkXPbCvU8k25ba9Kiya6kjsBg\n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\nXEdcR7ozJX0iywNJqyOif1HbGOC0iPhMuv454FySt/43AOdExE3ptt7ANODfSDqQ84Bvph3M40k+\n4CaSEf3ZwGRgH5IR2w+QjLA+D0yKiFWSatNzz0vjfxcYFhFfkbQcGBUR74wcp/ssB94C6tMcfxoR\nv5bUh2TO7xBgcXq+KRFR23jd6T63ArcANwCzgP7pdRwAfDo9zW3pNInCc26SS5Ee8IOe5ffQ+zvt\ny4nl77RvE7W+S+5UeB3J72sLXEfK4TqS8MhujhR3dNO2WpIR28b1m4Cbmjl+Pck0hKa2XQNc08Sm\nx4GDmjlmTNH6TwuWhzRzTHPt63i3s1q8rX/BPoVTGQ5san9gj8KV5s5pZmZm5jm7ZmZmZlax3Nk1\nMzMzs4rlzq6ZmZmZVSx3ds3MzMysYrmza2ZmZmYVy7ces57CP+hm+eJbj5lZe/nWY2Y9SVb3ZtSY\nazO+n2W298fM+h6UeXze4N3nzqyzZP3ayrqOnKtdM4l3Tix2HelhPI3BzMzMzCqWO7tmZmZmVrHc\n2TUzMzOziuU5u2Y9wJlXL6O27k222ryGWefs0foBLdA2g+lz5k/QgIEQwYZZ17NxZlPfRN25sSDb\n68w6XtbXatbZ8vp6qO7Tmy/NuZbqPr2pqqnmmZl3Ujtletm5uY5UHo/stpOk70t6WtJCSfMl7V+w\nbaCkDZJOLjpmuaSB6fJIScsk7Z2uj01jPSOpTtLYtP2XafxFktamy/MljZd0VRpjvqQFkj5RdL4m\n8yjap5ekCyQ9J+kJSQ9J+nRxvhk8X6vTf7eTNDOLmNa6cQcO5LJThmYTrL6e9ZdcwNrjj2DtycfS\na9xEtNMuXR+LjK8z63gZX6tZZ8vr66F+3XquPvQELh1xNJeOGMsuhx/M9vvvVXZqriOVx53ddpB0\nIPAZYJ+I2BP4JPBiwS7HAA8DE5o5fk9gJnBcRDwpaS/gIuDoiPgocBRwkaQ9I+LrETECOAJYGhEj\n0kdjh/H0dPu3gf8tOlWLeaTOB7YF9oiIfYCxwOalPRNtFxF/i4jxHRXf3mvfj2zOFv2yeSMnXnuV\nhiWLkpW1a2hYsRRtPajLY0G215l1vKyv1ayz5fn1sGHN2wBU9aqhulcNtOO2qq4jlced3fbZFlgV\nEesAImJVRPytYPsE4LvA9pJ2KDr2o8DNwH9GxKNp22nA1IhYlsZbBvwIOL0NOT0EbF/U1lIeSOoH\n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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f153bb70630>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"f, (ax1, ax2) = plt.subplots(1, 2, figsize=(9, 9), sharey=True)\n",
"ax2.set_xlabel('')\n",
"sns.heatmap(comp_value_df,linewidths=0.2, annot=True, square=True, cbar=False, cmap=\"YlOrRd\", ax=ax1)\n",
"sns.heatmap(comp_mark_df,linewidths=0.2, annot=True, square=True, cbar=False, cmap=\"YlOrRd\", ax=ax2)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"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.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}