Traitement des données dans pandas : sommes, groupes

parent 1a2e44fb
......@@ -1851,338 +1851,591 @@
},
{
"cell_type": "code",
"execution_count": 29,
"execution_count": 83,
"metadata": {},
"outputs": [],
"source": [
"# Données sous forme d'une liste de dictionnaires :\n",
"data = []\n",
"identifiantsParoles = []\n",
"for acte in root.iter(\"{http://www.tei-c.org/ns/1.0}div1\"):\n",
" numeroActe = acte.get('n')\n",
" for scene in acte.iter(\"{http://www.tei-c.org/ns/1.0}div2\"):\n",
" numeroScene = numeroActe + '-' + scene.get('n')\n",
" for paroles in scene.iter(\"{http://www.tei-c.org/ns/1.0}sp\"):\n",
" paroleId = paroles.get('{http://www.w3.org/XML/1998/namespace}id')\n",
" roleId = paroles.get('who')\n",
" nbMots = 0\n",
" for phrase in paroles.iter(\"{http://www.tei-c.org/ns/1.0}s\"):\n",
" if phrase.text:\n",
" nbMots += compte_mots(phrase.text)\n",
" data.append({'act': numeroActe, 'scene': numeroScene, 'role': roleId, 'mots': nbMots})\n",
" identifiantsParoles.append(paroleId)\n",
"# print(\"Acte {}, Scène {}, Rôle : {}, nombre de mots : {}\".format(numeroActe, numeroScene, roleId, nbMots))"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Acte 1, Scène 1, Rôle : valere, nombre de mots : 58\n",
"Acte 1, Scène 1, Rôle : elise, nombre de mots : 68\n",
"Acte 1, Scène 1, Rôle : valere, nombre de mots : 14\n",
"Acte 1, Scène 1, Rôle : elise, nombre de mots : 51\n",
"Acte 1, Scène 1, Rôle : valere, nombre de mots : 45\n",
"Acte 1, Scène 1, Rôle : elise, nombre de mots : 26\n",
"Acte 1, Scène 1, Rôle : valere, nombre de mots : 70\n",
"Acte 1, Scène 1, Rôle : elise, nombre de mots : 63\n",
"Acte 1, Scène 1, Rôle : valere, nombre de mots : 4\n",
"Acte 1, Scène 1, Rôle : elise, nombre de mots : 224\n",
"Acte 1, Scène 1, Rôle : valere, nombre de mots : 138\n",
"Acte 1, Scène 1, Rôle : elise, nombre de mots : 22\n",
"Acte 1, Scène 1, Rôle : valere, nombre de mots : 215\n",
"Acte 1, Scène 1, Rôle : elise, nombre de mots : 24\n",
"Acte 1, Scène 1, Rôle : valere, nombre de mots : 86\n",
"Acte 1, Scène 1, Rôle : elise, nombre de mots : 13\n",
"Acte 1, Scène 2, Rôle : cleante, nombre de mots : 24\n",
"Acte 1, Scène 2, Rôle : elise, nombre de mots : 14\n",
"Acte 1, Scène 2, Rôle : cleante, nombre de mots : 11\n",
"Acte 1, Scène 2, Rôle : elise, nombre de mots : 2\n",
"Acte 1, Scène 2, Rôle : cleante, nombre de mots : 173\n",
"Acte 1, Scène 2, Rôle : elise, nombre de mots : 11\n",
"Acte 1, Scène 2, Rôle : cleante, nombre de mots : 24\n",
"Acte 1, Scène 2, Rôle : elise, nombre de mots : 8\n",
"Acte 1, Scène 2, Rôle : cleante, nombre de mots : 26\n",
"Acte 1, Scène 2, Rôle : elise, nombre de mots : 43\n",
"Acte 1, Scène 2, Rôle : cleante, nombre de mots : 10\n",
"Acte 1, Scène 2, Rôle : elise, nombre de mots : 13\n",
"Acte 1, Scène 2, Rôle : cleante, nombre de mots : 151\n",
"Acte 1, Scène 2, Rôle : elise, nombre de mots : 27\n",
"Acte 1, Scène 2, Rôle : cleante, nombre de mots : 105\n",
"Acte 1, Scène 2, Rôle : elise, nombre de mots : 11\n",
"Acte 1, Scène 2, Rôle : cleante, nombre de mots : 212\n",
"Acte 1, Scène 2, Rôle : elise, nombre de mots : 25\n",
"Acte 1, Scène 2, Rôle : cleante, nombre de mots : 27\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 28\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 25\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 5\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 4\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 18\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 8\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 10\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 11\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 77\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 26\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 61\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 6\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 25\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 23\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 20\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 4\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 6\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 4\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 9\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 2\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 2\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 2\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 1\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 2\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 7\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 3\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 27\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 21\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 1\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 1\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 8\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 14\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 7\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 9\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 4\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 4\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 12\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 12\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 5\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 2\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 6\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 5\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 9\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 7\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 10\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 11\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 21\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 7\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 9\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 7\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 13\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 4\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 6\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 8\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 3\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 3\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 2\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 8\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 7\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 1\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 6\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 8\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 1\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 1\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 8\n",
"Acte 1, Scène 3, Rôle : la-fleche, nombre de mots : 5\n",
"Acte 1, Scène 3, Rôle : harpagon, nombre de mots : 31\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 154\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 9\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 6\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 1\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 1\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 6\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 1\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 4\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 2\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 48\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 10\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 34\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 7\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 10\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 4\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 7\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 4\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 5\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 4\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 2\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 14\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 22\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 33\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 6\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 13\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 13\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 35\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 8\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 87\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 4\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 16\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 24\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 134\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 31\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 21\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 13\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 11\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 11\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 16\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 31\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 62\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 2\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 5\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 7\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 4\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 2\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 6\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 5\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 17\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 6\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 2\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 11\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 2\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 8\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 1\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 27\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 18\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 37\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 37\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 1\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 1\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 5\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 8\n",
"Acte 1, Scène 4, Rôle : cleante, nombre de mots : 15\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 70\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 22\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 12\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 17\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 6\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 6\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 17\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 16\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 6\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 4\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 1\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 1\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 4\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 4\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 10\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 8\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 10\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 27\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 14\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 22\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 14\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 15\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 3\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 6\n",
"Acte 1, Scène 4, Rôle : elise, nombre de mots : 9\n",
"Acte 1, Scène 4, Rôle : harpagon, nombre de mots : 4\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 18\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 6\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 7\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 12\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 33\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 5\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 1\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 2\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 1\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 33\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 36\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 33\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 29\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 2\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 1\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 21\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 7\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 62\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 2\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 63\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 2\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 86\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 2\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 19\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 30\n",
"Acte 1, Scène 5, Rôle : elise, nombre de mots : 10\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 96\n",
"Acte 1, Scène 5, Rôle : elise, nombre de mots : 4\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 7\n",
"Acte 1, Scène 5, Rôle : elise, nombre de mots : 11\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 9\n",
"Acte 1, Scène 5, Rôle : elise, nombre de mots : 11\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 32\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 6\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 55\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 5\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 21\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 45\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 20\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 5\n",
"Acte 1, Scène 5, Rôle : valere, nombre de mots : 11\n",
"Acte 1, Scène 5, Rôle : harpagon, nombre de mots : 5\n"
"data": {
"text/plain": [
"act object\n",
"mots int64\n",
"role object\n",
"scene object\n",
"dtype: object"
]
},
"execution_count": 84,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.DataFrame(data, index=identifiantsParoles)\n",
"df.dtypes"
]
},
{
"ename": "TypeError",
"evalue": "'NoneType' object is not iterable",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-29-9d6d98bb6a39>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mnbMots\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mphrase\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mparoles\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0miter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"{http://www.tei-c.org/ns/1.0}s\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m \u001b[0mnbMots\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mcompte_mots\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mphrase\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 10\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Acte {}, Scène {}, Rôle : {}, nombre de mots : {}\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnumeroActe\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnumeroScene\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrole\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnbMots\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m<ipython-input-11-f72ffe17043c>\u001b[0m in \u001b[0;36mcompte_mots\u001b[0;34m(texte)\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mnbMots\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0msepAvant\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mc\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtexte\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mc\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mSEPARATEURS\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0msepAvant\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mTypeError\u001b[0m: 'NoneType' object is not iterable"
"cell_type": "code",
"execution_count": 85,
"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>act</th>\n",
" <th>mots</th>\n",
" <th>role</th>\n",
" <th>scene</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>V06-20</th>\n",
" <td>5</td>\n",
" <td>23</td>\n",
" <td>maitre-jacques</td>\n",
" <td>5-6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>V06-21</th>\n",
" <td>5</td>\n",
" <td>8</td>\n",
" <td>anselme</td>\n",
" <td>5-6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>V06-22</th>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>harpagon</td>\n",
" <td>5-6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>V06-23</th>\n",
" <td>5</td>\n",
" <td>11</td>\n",
" <td>anselme</td>\n",
" <td>5-6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>V06-24</th>\n",
" <td>5</td>\n",
" <td>6</td>\n",
" <td>harpagon</td>\n",
" <td>5-6</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" act mots role scene\n",
"V06-20 5 23 maitre-jacques 5-6\n",
"V06-21 5 8 anselme 5-6\n",
"V06-22 5 5 harpagon 5-6\n",
"V06-23 5 11 anselme 5-6\n",
"V06-24 5 6 harpagon 5-6"
]
},
"execution_count": 85,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for acte in root.iter(\"{http://www.tei-c.org/ns/1.0}div1\"):\n",
" numeroActe = acte.get('n')\n",
" for scene in acte.iter(\"{http://www.tei-c.org/ns/1.0}div2\"):\n",
" numeroScene = scene.get('n')\n",
" for paroles in scene.iter(\"{http://www.tei-c.org/ns/1.0}sp\"):\n",
" role = paroles.get('who')\n",
" nbMots = 0\n",
" for phrase in paroles.iter(\"{http://www.tei-c.org/ns/1.0}s\"):\n",
" nbMots += compte_mots(phrase.text)\n",
" print(\"Acte {}, Scène {}, Rôle : {}, nombre de mots : {}\".format(numeroActe, numeroScene, role, nbMots))"
"df.tail()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"execution_count": 56,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"act\n",
"act\n",
"act\n",
"act\n",
"act\n"
"data": {
"text/plain": [
"20757"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for acte in root.iter(\"{http://www.tei-c.org/ns/1.0}div1\"):\n",
" print(acte.get('type'))"
"df.mots.sum()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"execution_count": 86,
"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></th>\n",
" <th>mots</th>\n",
" </tr>\n",
" <tr>\n",
" <th>scene</th>\n",
" <th>role</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">1-1</th>\n",
" <th>elise</th>\n",
" <td>491</td>\n",
" </tr>\n",
" <tr>\n",
" <th>valere</th>\n",
" <td>630</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">1-2</th>\n",
" <th>cleante</th>\n",
" <td>763</td>\n",
" </tr>\n",
" <tr>\n",
" <th>elise</th>\n",
" <td>154</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">1-3</th>\n",
" <th>harpagon</th>\n",
" <td>465</td>\n",
" </tr>\n",
" <tr>\n",
" <th>la-fleche</th>\n",
" <td>258</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">1-4</th>\n",
" <th>cleante</th>\n",
" <td>216</td>\n",
" </tr>\n",
" <tr>\n",
" <th>elise</th>\n",
" <td>162</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>1146</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">1-5</th>\n",
" <th>elise</th>\n",
" <td>36</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>271</td>\n",
" </tr>\n",
" <tr>\n",
" <th>valere</th>\n",
" <td>671</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">2-1</th>\n",
" <th>cleante</th>\n",
" <td>379</td>\n",
" </tr>\n",
" <tr>\n",
" <th>la-fleche</th>\n",
" <td>903</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"4\" valign=\"top\">2-2</th>\n",
" <th>cleante</th>\n",
" <td>127</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>171</td>\n",
" </tr>\n",
" <tr>\n",
" <th>la-fleche</th>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maitre-simon</th>\n",
" <td>197</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">2-3</th>\n",
" <th>frosine</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>21</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">2-4</th>\n",
" <th>frosine</th>\n",
" <td>130</td>\n",
" </tr>\n",
" <tr>\n",
" <th>la-fleche</th>\n",
" <td>276</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">2-5</th>\n",
" <th>frosine</th>\n",
" <td>1482</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>555</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"6\" valign=\"top\">3-1</th>\n",
" <th>brindavoine</th>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cleante</th>\n",
" <td>76</td>\n",
" </tr>\n",
" <tr>\n",
" <th>elise</th>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>747</td>\n",
" </tr>\n",
" <tr>\n",
" <th>la-merluche</th>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maitre-jacques</th>\n",
" <td>779</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4-4</th>\n",
" <th>maitre-jacques</th>\n",
" <td>300</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">4-5</th>\n",
" <th>cleante</th>\n",
" <td>163</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>129</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">4-6</th>\n",
" <th>cleante</th>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>la-fleche</th>\n",
" <td>47</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4-7</th>\n",
" <th>harpagon</th>\n",
" <td>407</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">5-1</th>\n",
" <th>commissaire</th>\n",
" <td>109</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>89</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">5-2</th>\n",
" <th>commissaire</th>\n",
" <td>159</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>182</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maitre-jacques</th>\n",
" <td>348</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"3\" valign=\"top\">5-3</th>\n",
" <th>harpagon</th>\n",
" <td>441</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maitre-jacques</th>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>valere</th>\n",
" <td>641</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"5\" valign=\"top\">5-4</th>\n",
" <th>elise</th>\n",
" <td>143</td>\n",
" </tr>\n",
" <tr>\n",
" <th>frosine</th>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>124</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maitre-jacques</th>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>valere</th>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"5\" valign=\"top\">5-5</th>\n",
" <th>anselme</th>\n",
" <td>403</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maitre-jacques</th>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mariane</th>\n",
" <td>192</td>\n",
" </tr>\n",
" <tr>\n",
" <th>valere</th>\n",
" <td>376</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"6\" valign=\"top\">5-6</th>\n",
" <th>anselme</th>\n",
" <td>114</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cleante</th>\n",
" <td>130</td>\n",
" </tr>\n",
" <tr>\n",
" <th>commissaire</th>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>harpagon</th>\n",
" <td>89</td>\n",
" </tr>\n",
" <tr>\n",
" <th>maitre-jacques</th>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mariane</th>\n",
" <td>36</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>95 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
"[]"
" mots\n",
"scene role \n",
"1-1 elise 491\n",
" valere 630\n",
"1-2 cleante 763\n",
" elise 154\n",
"1-3 harpagon 465\n",
" la-fleche 258\n",
"1-4 cleante 216\n",
" elise 162\n",
" harpagon 1146\n",
"1-5 elise 36\n",
" harpagon 271\n",
" valere 671\n",
"2-1 cleante 379\n",
" la-fleche 903\n",
"2-2 cleante 127\n",
" harpagon 171\n",
" la-fleche 12\n",
" maitre-simon 197\n",
"2-3 frosine 1\n",
" harpagon 21\n",
"2-4 frosine 130\n",
" la-fleche 276\n",
"2-5 frosine 1482\n",
" harpagon 555\n",
"3-1 brindavoine 23\n",
" cleante 76\n",
" elise 3\n",
" harpagon 747\n",
" la-merluche 26\n",
" maitre-jacques 779\n",
"... ...\n",
"4-4 maitre-jacques 300\n",
"4-5 cleante 163\n",
" harpagon 129\n",
"4-6 cleante 17\n",
" la-fleche 47\n",
"4-7 harpagon 407\n",
"5-1 commissaire 109\n",
" harpagon 89\n",
"5-2 commissaire 159\n",
" harpagon 182\n",
" maitre-jacques 348\n",
"5-3 harpagon 441\n",
" maitre-jacques 11\n",
" valere 641\n",
"5-4 elise 143\n",
" frosine 4\n",
" harpagon 124\n",
" maitre-jacques 7\n",
" valere 22\n",
"5-5 anselme 403\n",
" harpagon 258\n",
" maitre-jacques 7\n",
" mariane 192\n",
" valere 376\n",
"5-6 anselme 114\n",
" cleante 130\n",
" commissaire 26\n",
" harpagon 89\n",
" maitre-jacques 23\n",
" mariane 36\n",
"\n",
"[95 rows x 1 columns]"
]
},
"execution_count": 24,
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"root.findall(\"[@type]\")"
"df.groupby(['scene', 'role']).sum()"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 77,
"metadata": {},
"outputs": [],
"source": []
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" mots\n",
"role \n",
"anselme 517\n"
]
}
],
"source": [
"reponse = df.groupby(['role']).sum()\n",
"#reponse\n",
"print(reponse[:1])"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'str'>\n",
"<class 'str'>\n",
"<class 'str'>\n",
"<class 'str'>\n",
"<class 'str'>\n"
]
}
],
"source": [
"for acte in root.iter(\"{http://www.tei-c.org/ns/1.0}div1\"):\n",
" numeroActe = acte.get('n')\n",
" print(type(numeroActe))"
]
}
],
"metadata": {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment