From 5129ac8d226f5389bf899c152fc9ceb824aaa475 Mon Sep 17 00:00:00 2001 From: herguejuan Date: Wed, 25 Mar 2020 17:26:09 -0600 Subject: [PATCH 1/4] Modificando archivo About-me a proposito --- module-1/lab-resolving-git-conflicts/your-code/about-me.md | 1 + 1 file changed, 1 insertion(+) diff --git a/module-1/lab-resolving-git-conflicts/your-code/about-me.md b/module-1/lab-resolving-git-conflicts/your-code/about-me.md index 30a999d..584f19f 100755 --- a/module-1/lab-resolving-git-conflicts/your-code/about-me.md +++ b/module-1/lab-resolving-git-conflicts/your-code/about-me.md @@ -5,3 +5,4 @@ Ut porttitor iaculis tellus bibendum euismod. Morbi porta, ante nec tempus porta Suspendisse ut malesuada ex. Nulla ultricies nisl et nisi rhoncus sollicitudin. Vestibulum maximus iaculis ligula, nec commodo nunc ullamcorper nec. Duis quis condimentum sapien. Cras vestibulum interdum felis eu auctor. Quisque semper, magna at dapibus faucibus, felis risus semper ligula, id aliquam lectus ligula vel nisi. In hac habitasse platea dictumst. Donec arcu sapien, suscipit ac dictum et, imperdiet id tortor. Maecenas ornare sodales interdum. Mauris dictum felis eu eros vestibulum cursus. Phasellus accumsan, turpis ut malesuada sollicitudin, augue leo venenatis ante, vel convallis tellus diam sit amet lacus. Aenean eu mauris eros. Praesent ante lacus, gravida sit amet tellus nec, laoreet ultrices lacus. Integer commodo semper vestibulum. Fusce felis massa, consectetur facilisis rutrum nec, pulvinar et nisi. Morbi fermentum ultricies tortor, vehicula ultrices eros elementum a. Duis ornare aliquam facilisis. Proin aliquam tincidunt odio vitae dignissim. Sed malesuada lacinia massa, nec blandit urna auctor elementum. Duis auctor non tortor in consequat. Mauris id vestibulum risus. In eget erat sed lacus efficitur viverra sed eu est. Aliquam interdum consequat molestie. Aliquam metus nisi, blandit non semper ut, blandit vel leo. Cras dictum turpis erat, sed iaculis ligula facilisis dapibus. Aliquam posuere dignissim fermentum. Praesent at neque sit amet lectus ornare iaculis. Curabitur id urna quis lorem varius ultrices eu sit amet sapien. Curabitur maximus volutpat suscipit. Proin imperdiet elementum lacus a eleifend. Sed tempor lacus posuere diam vehicula iaculis. +Agregando cualquier cosa From 484a78b6127d01a89eeedc8029eacf60ecfda819 Mon Sep 17 00:00:00 2001 From: herguejuan Date: Wed, 15 Apr 2020 03:53:20 -0500 Subject: [PATCH 2/4] Descartar cambios --- .../lab-web-scraping/your-code/main.ipynb | 105 +++++++++++++++--- 1 file changed, 87 insertions(+), 18 deletions(-) diff --git a/module-1/lab-web-scraping/your-code/main.ipynb b/module-1/lab-web-scraping/your-code/main.ipynb index d2d7553..0785805 100755 --- a/module-1/lab-web-scraping/your-code/main.ipynb +++ b/module-1/lab-web-scraping/your-code/main.ipynb @@ -40,7 +40,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -51,9 +51,9 @@ "# from lxml import html\n", "# from lxml.html import fromstring\n", "# import urllib.request\n", - "# from urllib.request import urlopen\n", + "from urllib.request import urlopen\n", "# import random\n", - "# import re\n", + "import re\n", "# import scrapy" ] }, @@ -66,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -76,11 +76,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ - "#your code" + "github_html=requests.get(url).text\n", + "soup = BeautifulSoup(github_html, \"html.parser\")" ] }, { @@ -134,11 +135,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "['Product', 'Platform', 'Support', 'Company']" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#your code" + "def elimina(t):\n", + " t = re.sub(' ','',t)\n", + " t = re.sub('\\n\\n',' ',t)\n", + " return t.strip()\n", + "\n", + "dev2 = [d.text for d in soup.find_all('h2')]\n", + "dev2 = list(map(elimina, dev2))\n", + "\n", + "dev2" ] }, { @@ -152,7 +172,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -162,11 +182,59 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#your code" + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Trending',\n", + " 'zylo117 - Yet-Another-EfficientDet-Pytorch',\n", + " 'shengqiangzhang - examples-of-web-crawlers',\n", + " 'Mascobot - pandemic-ventilator-2.0',\n", + " 'twintproject - twint',\n", + " 'satwikkansal - wtfpython',\n", + " 'tiangolo - fastapi',\n", + " 'diofeher - bbb-v2',\n", + " 'matterport - Mask_RCNN',\n", + " 'alievk - avatarify',\n", + " 'vt-vl-lab - 3d-photo-inpainting',\n", + " 'leisurelicht - wtfpython-cn',\n", + " 'lindawangg - COVID-Net',\n", + " 'grantmcconnaughey - cookiecutter-django-vue-graphql-aws',\n", + " 'awslabs - aws-data-wrangler',\n", + " 'toandaominh1997 - EfficientDet.Pytorch',\n", + " 'DP-3T - reference_implementation',\n", + " 'encode - django-rest-framework',\n", + " 'lazyprogrammer - machine_learning_examples',\n", + " 'allenai - longformer',\n", + " 'eragonruan - text-detection-ctpn',\n", + " 'tensorflow - hub',\n", + " 'darkarp - chromepass',\n", + " 'junyanz - pytorch-CycleGAN-and-pix2pix',\n", + " 'ansible - ansible',\n", + " 'Azure - azure-sdk-for-python']" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#your code\n", + "github_html_py = requests.get(url).text\n", + "soup_py = BeautifulSoup(github_html_py, \"html.parser\")\n", + "\n", + "def limpia(t):\n", + " t = re.sub(' ','',t)\n", + " t = re.sub('\\n','',t)\n", + " t = re.sub('/',' - ',t)\n", + " return t\n", + "\n", + "repository = [r.text for r in soup_py.find_all('h1')]\n", + "repository = list(map(limpia, repository))\n", + "repository" ] }, { @@ -178,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -192,7 +260,8 @@ "metadata": {}, "outputs": [], "source": [ - "#your code" + "disney_html = requests.get(url).text\n", + "soup_disney = BeautifulSoup(disney_html, \"html.parser\")" ] }, { @@ -630,7 +699,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.2" + "version": "3.7.6" } }, "nbformat": 4, From 3bbd85e5ad8c769af29c77b52c66f6bc67ff2110 Mon Sep 17 00:00:00 2001 From: herguejuan Date: Fri, 17 Apr 2020 14:18:23 -0500 Subject: [PATCH 3/4] quitando cambios --- .../pymongo-tester-checkpoint.ipynb | 6 + .../starter_code/pymongo-tester.ipynb | 1355 +++++++++++++++++ .../challenge-1-checkpoint.ipynb | 391 +++++ 3 files changed, 1752 insertions(+) create mode 100644 module-2/lab-advance-querying-mongo/starter_code/.ipynb_checkpoints/pymongo-tester-checkpoint.ipynb create mode 100644 module-2/lab-advance-querying-mongo/starter_code/pymongo-tester.ipynb create mode 100755 module-2/lab-matplotlib-seaborn/your-code/.ipynb_checkpoints/challenge-1-checkpoint.ipynb diff --git a/module-2/lab-advance-querying-mongo/starter_code/.ipynb_checkpoints/pymongo-tester-checkpoint.ipynb b/module-2/lab-advance-querying-mongo/starter_code/.ipynb_checkpoints/pymongo-tester-checkpoint.ipynb new file mode 100644 index 0000000..7fec515 --- /dev/null +++ b/module-2/lab-advance-querying-mongo/starter_code/.ipynb_checkpoints/pymongo-tester-checkpoint.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/module-2/lab-advance-querying-mongo/starter_code/pymongo-tester.ipynb b/module-2/lab-advance-querying-mongo/starter_code/pymongo-tester.ipynb new file mode 100644 index 0000000..bce3bb6 --- /dev/null +++ b/module-2/lab-advance-querying-mongo/starter_code/pymongo-tester.ipynb @@ -0,0 +1,1355 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#import pymongo\n", + "#cliente = pymongo.MongoClient()\n", + "#cliente.list_databases.names()\n", + "\n", + "#nueva_base = cliente.nueva_base\n", + "#nueva_base.list_collection_names()\n", + "\n", + "#db.createCollection('test');" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pymongo" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "cliente = pymongo.MongoClient()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Test', 'admin', 'config', 'local', 'nueva_db']" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cliente.list_database_names()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "nueva_base2 = cliente.nueva_base2" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Test', 'admin', 'config', 'local', 'nueva_db']" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cliente.list_database_names()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "coleccion = nueva_base2.coleccion" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nueva_base2.list_collection_names()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dic1 = {'nombre':'Juan', 'edad':27}\n", + "\n", + "coleccion.insert_one(dic1)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27}]" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Test', 'admin', 'config', 'local', 'nueva_base2', 'nueva_db']" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cliente.list_database_names()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['coleccion']" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nueva_base2.list_collection_names()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27}]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dic2 = {'nombre':'anai', 'edad':24}\n", + "coleccion.insert_one(dic2)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24}]" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30}]" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dic3 = {'nombre':'Angel', 'edad':30}\n", + "coleccion.insert_one(dic3)\n", + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25}]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dic4 = {'nombre':'Diana', 'edad':25}\n", + "coleccion.insert_one(dic4)\n", + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20}]" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dic5 = {'nombre':'Belen', 'edad':20 }\n", + "coleccion.insert_one(dic5)\n", + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['coleccion']" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nueva_base2.list_collection_names()" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20}]" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30}]" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find().limit(3))" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.insert_one({'_id':1, 'nombre':'José Juan', 'edad':28})" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28}]" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.insert_one({'_id':2, 'nombre':'Yona', 'edad':35})" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35}]" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(list(coleccion.find()))" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25}]" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find().limit(4))" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(list(coleccion.find()))" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.insert_many([\n", + " {'_id':3,'nombre':'Esteban', 'edad':45, 'altura':1.7},\n", + " {'_id':4,'nombre':'Alicia', 'edad':34, 'altura':1.5},\n", + " {'_id':5,'nombre':'Luz', 'edad':18, 'altura':1.65}\n", + "])" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65}]" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': 1, 'nombre': 'José Juan', 'edad': 28}]" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find({'edad':28}))" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5}]" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find({'edad':{'$gte':30}}))" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7}]" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find({'edad':{'$gte':35}}))" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find({'Edad':{'$gte':35}}))" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65}]" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find({'altura':{'$gte':1.51}}))" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65}]" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find().sort('edad',-1))" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e99030aa359803eff02b8d9'), 'nombre': 'anai', 'edad': 24},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5}]" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find().sort('nombre',-1))" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.delete_one({'nombre':'anai'})" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65}]" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.insert_one({'nomre':'Anai', 'edad':24, 'altura':1.45})" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': ObjectId('5e990c68a359803eff02b8dd'),\n", + " 'nomre': 'Anai',\n", + " 'edad': 24,\n", + " 'altura': 1.45}]" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': ObjectId('5e990c68a359803eff02b8dd'),\n", + " 'nomre': 'Anai',\n", + " 'edad': 24,\n", + " 'altura': 1.45}]" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find().sort('nombre',-1))" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e990c68a359803eff02b8dd'),\n", + " 'nomre': 'Anai',\n", + " 'edad': 24,\n", + " 'altura': 1.45},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35}]" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find().sort('nombre',1))" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e990c68a359803eff02b8dd'),\n", + " 'nomre': 'Anai',\n", + " 'edad': 24,\n", + " 'altura': 1.45},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35}]" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find().sort('nombre'))" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.update_one({'_id':'5e990c68a359803eff02b8dd'}, {'$set':{'_id':0}})" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': ObjectId('5e990c68a359803eff02b8dd'),\n", + " 'nomre': 'Anai',\n", + " 'edad': 24,\n", + " 'altura': 1.45}]" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.update_one({'nombre':'Anai'}, {'$set':{'nombre':'Argelia Anai'}})" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'), 'nombre': 'Juan', 'edad': 27},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': ObjectId('5e990c68a359803eff02b8dd'),\n", + " 'nomre': 'Anai',\n", + " 'edad': 24,\n", + " 'altura': 1.45}]" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.update_one({'nombre':'Juan'}, {'$set':{'nombre':'José Juan'}})" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'),\n", + " 'nombre': 'José Juan',\n", + " 'edad': 27},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': ObjectId('5e990c68a359803eff02b8dd'),\n", + " 'nomre': 'Anai',\n", + " 'edad': 24,\n", + " 'altura': 1.45}]" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.update_one({'nombre':'Anai'}, {'$set':{'nombre':'Argelia Anai'}})" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'),\n", + " 'nombre': 'José Juan',\n", + " 'edad': 27},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': ObjectId('5e990c68a359803eff02b8dd'),\n", + " 'nomre': 'Anai',\n", + " 'edad': 24,\n", + " 'altura': 1.45}]" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.delete_one({'nombre':'Anai'}) # borrar un elemento" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'),\n", + " 'nombre': 'José Juan',\n", + " 'edad': 27},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': ObjectId('5e990c68a359803eff02b8dd'),\n", + " 'nomre': 'Anai',\n", + " 'edad': 24,\n", + " 'altura': 1.45}]" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.delete_one({'nombre':'Anai'}) # borrar un elemento" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.delete_one({'nombre':'Anai'}) # borrar un elemento" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "coleccion.delete_one({'nombre':'Anai'}) # borrar un elemento" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'_id': ObjectId('5e98fec6a359803eff02b8d8'),\n", + " 'nombre': 'José Juan',\n", + " 'edad': 27},\n", + " {'_id': ObjectId('5e99034ba359803eff02b8da'), 'nombre': 'Angel', 'edad': 30},\n", + " {'_id': ObjectId('5e9903a2a359803eff02b8db'), 'nombre': 'Diana', 'edad': 25},\n", + " {'_id': ObjectId('5e9903fda359803eff02b8dc'), 'nombre': 'Belen', 'edad': 20},\n", + " {'_id': 1, 'nombre': 'José Juan', 'edad': 28},\n", + " {'_id': 2, 'nombre': 'Yona', 'edad': 35},\n", + " {'_id': 3, 'nombre': 'Esteban', 'edad': 45, 'altura': 1.7},\n", + " {'_id': 4, 'nombre': 'Alicia', 'edad': 34, 'altura': 1.5},\n", + " {'_id': 5, 'nombre': 'Luz', 'edad': 18, 'altura': 1.65},\n", + " {'_id': ObjectId('5e990c68a359803eff02b8dd'),\n", + " 'nomre': 'Anai',\n", + " 'edad': 24,\n", + " 'altura': 1.45}]" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(coleccion.find())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "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.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/module-2/lab-matplotlib-seaborn/your-code/.ipynb_checkpoints/challenge-1-checkpoint.ipynb b/module-2/lab-matplotlib-seaborn/your-code/.ipynb_checkpoints/challenge-1-checkpoint.ipynb new file mode 100755 index 0000000..c522b6f --- /dev/null +++ b/module-2/lab-matplotlib-seaborn/your-code/.ipynb_checkpoints/challenge-1-checkpoint.ipynb @@ -0,0 +1,391 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Before you start :\n", + " - These exercises are related to the Exploratory data analysis using matplotlib and seaborn.\n", + " - Keep in mind that you need to use some of the functions you learned in the previous lessons.\n", + " - The datasets for Challenge 2 and 3 are provided in the `your-code` folder of this lab.\n", + " - Elaborate your codes and outputs as much as you can.\n", + " - Try your best to answer the questions and complete the tasks and most importantly enjoy the process!!!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Challenge 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Import all the libraries that are necessary." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# import libraries here\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Define data." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "x = np.arange(0,100)\n", + "y = x*2\n", + "z = x**2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Plot (x,y) and (x,z) on the axes.\n", + "\n", + "#### There are 2 ways of doing this. Do in both ways.\n", + "\n", + "*Hint: Check out the `nrows`, `ncols`, and `index` arguments of [subplots](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplot.html)*\n", + "\n", + "#### Also, play around with the linewidth and style. Use the ones you're most happy with." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# your code here-1st way\n", + "plt.subplot(1,2,1)\n", + "plt.plot(x,y,lw=3,color=\"b\", ls='--')\n", + "plt.subplot(1,2,2)\n", + "plt.plot(x,z,lw=3, color=\"r\",ls='-')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here-2st way (call `subplots` only once not using the `index` parameter)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Augmenting your previous code, resize your previous plot.\n", + "\n", + "*Hint: Add the `figsize` argument in `plt.subplots()`*" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "fig,axes=plt.subplots(1,2)\n", + "axes[0].plot(x,y,color=\"b\", lw=3, ls='--')\n", + "axes[1].plot(x,z,color=\"r\", lw=3, ls='-')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Augmenting your previous code, label your axes.\n", + "\n", + "*Hint: call `set_xlabel` and `set_ylabel`*" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'z')" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "fig, axes = plt.subplots(nrows=1, ncols=2,figsize=(12,2))\n", + "\n", + "axes[0].plot(x,y,color=\"blue\", lw=5)\n", + "axes[0].set_xlabel('x')\n", + "axes[0].set_ylabel('y')\n", + "\n", + "axes[1].plot(x,z,color=\"red\", lw=3, ls='--')\n", + "axes[1].set_xlabel('x')\n", + "axes[1].set_ylabel('z')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Plot both `y=x^2` and `y=exp(x)` in the same plot using normal and logarithmic scale.\n", + "\n", + "*Hint: Use `set_xscale` and `set_yscale`*" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Logarithmic scale (y)')" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "fig, axes = plt.subplots(1, 2, figsize=(10,4))\n", + " \n", + "axes[0].plot(x, x**2,x, np.exp(x))\n", + "axes[0].set_title(\"Normal scale\")\n", + "\n", + "axes[1].plot(x, x**2,x, np.exp(x))\n", + "axes[1].set_yscale(\"log\")\n", + "axes[1].set_title(\"Logarithmic scale (y)\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### In the vehicles data set that you have downloaded, use the vehicles.csv file. In this exercise we will conduct some exploratory data analysis using one plot each of scatter plot, box plot, histogram, and bar chart. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Scatter Plot\n", + "\n", + "Please provide a scatter plot between \"Combined MPG\" as X variable and \n", + "\"Highway MPG\" as Y variable" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Box Whisker Plot\n", + "\n", + "Please provide a box plot of the variable \"CO2 Emission Grams/mile\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Histogram\n", + "\n", + "Please provide a histogram of the Fuel Barrels/Year" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Bar Chart\n", + "\n", + "Please provide a bar chart of the Fuel Type on the X axis and \"City MPG\" on the Y axis" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "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.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 22459abfd4636e4265d810d2620aa2426457a8b9 Mon Sep 17 00:00:00 2001 From: herguejuan Date: Wed, 13 May 2020 17:20:33 -0500 Subject: [PATCH 4/4] Subiendo Lab NLP --- .../.ipynb_checkpoints/Main-checkpoint.ipynb | 805 ++++++++++++++++++ module-3/lab-nlp/Main.ipynb | 805 ++++++++++++++++++ 2 files changed, 1610 insertions(+) create mode 100644 module-3/lab-nlp/.ipynb_checkpoints/Main-checkpoint.ipynb create mode 100644 module-3/lab-nlp/Main.ipynb diff --git a/module-3/lab-nlp/.ipynb_checkpoints/Main-checkpoint.ipynb b/module-3/lab-nlp/.ipynb_checkpoints/Main-checkpoint.ipynb new file mode 100644 index 0000000..a58cb8c --- /dev/null +++ b/module-3/lab-nlp/.ipynb_checkpoints/Main-checkpoint.ipynb @@ -0,0 +1,805 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Challenge 1 " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import nltk" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package brown to /Users/juan/nltk_data...\n", + "[nltk_data] Unzipping corpora/brown.zip.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['The', 'Fulton', 'County', 'Grand', 'Jury', 'said', 'Friday', 'an', 'investigation', 'of']\n" + ] + } + ], + "source": [ + "from nltk.corpus import brown\n", + "nltk.download('brown')\n", + "\n", + "print(brown.words()[0:10])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('The', 'AT'), ('Fulton', 'NP-TL'), ('County', 'NN-TL'), ('Grand', 'JJ-TL'), ('Jury', 'NN-TL'), ('said', 'VBD'), ('Friday', 'NR'), ('an', 'AT'), ('investigation', 'NN'), ('of', 'IN')]\n" + ] + } + ], + "source": [ + "print(brown.tagged_words()[0:10])" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "text = '''Ironhack is a Global Tech School ranked num 2 worldwide.\n", + " Our mission is to help people transform their careers and join a thriving \n", + " community of tech professionals that love what they do. This ideology is reflected \n", + " in our teaching practices, which consist of a nine-weeks immersive programming, UX/UI \n", + " design or Data Analytics course as well as a one-week hiring fair aimed at helping our \n", + " students change their career and get a job straight after the course. \n", + " We are present in 8 countries and have campuses in 9 locations - Madrid, Barcelona, Miami, \n", + " Paris, Mexico City, Berlin, Amsterdam, Sao Paulo and Lisbon.'''" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package punkt to /Users/juan/nltk_data...\n", + "[nltk_data] Unzipping tokenizers/punkt.zip.\n" + ] + }, + { + "data": { + "text/plain": [ + "['Ironhack is a Global Tech School ranked num 2 worldwide.',\n", + " 'Our mission is to help people transform their careers and join a thriving \\n community of tech professionals that love what they do.',\n", + " 'This ideology is reflected \\n in our teaching practices, which consist of a nine-weeks immersive programming, UX/UI \\n design or Data Analytics course as well as a one-week hiring fair aimed at helping our \\n students change their career and get a job straight after the course.',\n", + " 'We are present in 8 countries and have campuses in 9 locations - Madrid, Barcelona, Miami, \\n Paris, Mexico City, Berlin, Amsterdam, Sao Paulo and Lisbon.']" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from nltk import sent_tokenize, word_tokenize\n", + "nltk.download('punkt')\n", + "\n", + "sent_tokenize(text)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Ironhack',\n", + " 'is',\n", + " 'a',\n", + " 'Global',\n", + " 'Tech',\n", + " 'School',\n", + " 'ranked',\n", + " 'num',\n", + " '2',\n", + " 'worldwide',\n", + " '.',\n", + " 'Our',\n", + " 'mission',\n", + " 'is',\n", + " 'to',\n", + " 'help',\n", + " 'people',\n", + " 'transform',\n", + " 'their',\n", + " 'careers']" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "word_tokenize(text)[0:20]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Challenge 2" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "in_put = \"@Ironhack's-#Q website 776-is http://ironhack.com [(2018)])\"\n", + "out_put = 'ironhack s q website is'" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ironhack s q website is\n" + ] + } + ], + "source": [ + "import re\n", + "\n", + "def clean_up(s):\n", + " \"\"\"\n", + " Cleans up numbers, URLs, and special characters from a string.\n", + "\n", + " Args:\n", + " s: The string to be cleaned up.\n", + "\n", + " Returns:\n", + " A string that has been cleaned up.\n", + " \"\"\"\n", + " \n", + " s = re.sub(r'https?://(?:[-\\w.]|(?:%[\\da-fA-F]{2}))+', '', s) # para limpiar URL\n", + " s = re.sub('\\d', ' ', s) # /d Any numeric character\n", + " s = re.sub('\\W', ' ', s) # Any non-alphanumeric character\n", + " return s.lower().strip()\n", + "\n", + "print(clean_up(in_put))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Tokenization" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ironhack', 's', 'q', 'website', 'is']\n" + ] + } + ], + "source": [ + "def tokenize(s):\n", + " \"\"\"\n", + " Tokenize a string.\n", + "\n", + " Args:\n", + " s: String to be tokenized.\n", + "\n", + " Returns:\n", + " A list of words as the result of tokenization.\n", + " \"\"\"\n", + "\n", + " return word_tokenize(clean_up(s))\n", + "\n", + "print(tokenize(in_put))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package wordnet to /Users/juan/nltk_data...\n", + "[nltk_data] Unzipping corpora/wordnet.zip.\n" + ] + }, + { + "data": { + "text/plain": [ + "'run'" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from nltk.stem import WordNetLemmatizer\n", + "\n", + "nltk.download('wordnet')\n", + "\n", + "lemmatizer = WordNetLemmatizer()\n", + "lemmatizer.lemmatize('was')\n", + "\n", + "lemmatizer.lemmatize('runs', pos='v')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ironhack', 's', 'q', 'websit', 'is']\n" + ] + } + ], + "source": [ + "from nltk.stem import SnowballStemmer\n", + "\n", + "def stem_and_lemmatize(s):\n", + " \"\"\"\n", + " Perform stemming and lemmatization on a list of words.\n", + "\n", + " Args:\n", + " l: A list of strings.\n", + "\n", + " Returns:\n", + " A list of strings after being stemmed and lemmatized.\n", + " \"\"\"\n", + " return [WordNetLemmatizer().lemmatize(SnowballStemmer('english').stem(x)) for x in tokenize(s)]\n", + " \n", + " \n", + "print(stem_and_lemmatize(in_put)) # nos ha quitado una 'e' en websit" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Stop Words Removal" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package stopwords to /Users/juan/nltk_data...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ironhack', 'q', 'websit']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Unzipping corpora/stopwords.zip.\n" + ] + } + ], + "source": [ + "from nltk.corpus import stopwords \n", + "nltk.download('stopwords')\n", + "\n", + "\n", + "def remove_stopwords(s):\n", + " \"\"\"\n", + " Remove English stopwords from a list of strings.\n", + "\n", + " Args:\n", + " l: A list of strings.\n", + "\n", + " Returns:\n", + " A list of strings after stop words are removed.\n", + " \"\"\"\n", + " \n", + " stop_words = set(stopwords.words('english'))\n", + " filtered_sentence = [w for w in stem_and_lemmatize(s) if not w in stop_words] \n", + " \n", + " return filtered_sentence\n", + " \n", + "print(remove_stopwords(in_put))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Challenge 3" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package vader_lexicon to\n", + "[nltk_data] /Users/juan/nltk_data...\n" + ] + }, + { + "data": { + "text/plain": [ + "{'neg': 0.0, 'neu': 0.741, 'pos': 0.259, 'compound': 0.8442}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from nltk.sentiment.vader import SentimentIntensityAnalyzer\n", + "nltk.download('vader_lexicon')\n", + "\n", + "txt = \"Ironhack is a Global Tech School ranked num 2 worldwide. 
", + "
", + "Our mission is to help people transform their careers and join a thriving community of tech professionals that love what they do.\"\n", + "analyzer = SentimentIntensityAnalyzer()\n", + "analyzer.polarity_scores(txt)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
targetiddateflagusertext
001467810369Mon Apr 06 22:19:45 PDT 2009NO_QUERY_TheSpecialOne_@switchfoot http://twitpic.com/2y1zl - Awww, t...
101467810672Mon Apr 06 22:19:49 PDT 2009NO_QUERYscotthamiltonis upset that he can't update his Facebook by ...
201467810917Mon Apr 06 22:19:53 PDT 2009NO_QUERYmattycus@Kenichan I dived many times for the ball. Man...
301467811184Mon Apr 06 22:19:57 PDT 2009NO_QUERYElleCTFmy whole body feels itchy and like its on fire
401467811193Mon Apr 06 22:19:57 PDT 2009NO_QUERYKaroli@nationwideclass no, it's not behaving at all....
\n", + "
" + ], + "text/plain": [ + " target id date flag \\\n", + "0 0 1467810369 Mon Apr 06 22:19:45 PDT 2009 NO_QUERY \n", + "1 0 1467810672 Mon Apr 06 22:19:49 PDT 2009 NO_QUERY \n", + "2 0 1467810917 Mon Apr 06 22:19:53 PDT 2009 NO_QUERY \n", + "3 0 1467811184 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY \n", + "4 0 1467811193 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY \n", + "\n", + " user text \n", + "0 _TheSpecialOne_ @switchfoot http://twitpic.com/2y1zl - Awww, t... \n", + "1 scotthamilton is upset that he can't update his Facebook by ... \n", + "2 mattycus @Kenichan I dived many times for the ball. Man... \n", + "3 ElleCTF my whole body feels itchy and like its on fire \n", + "4 Karoli @nationwideclass no, it's not behaving at all.... " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "import zipfile\n", + "\n", + "zf = zipfile.ZipFile('Sentiment140.csv.zip')\n", + "sen = pd.read_csv(zf.open('Sentiment140.csv'))\n", + "sen.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "short = sen[:5000] # Lo acortamos para que no tarde muchísimo en ejecutarse porque son 1.6 millones de rows" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/juan/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " \"\"\"Entry point for launching an IPython kernel.\n" + ] + } + ], + "source": [ + "short['text_processed'] = short['text'].apply(remove_stopwords)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "#def clean_f(x): \n", + " # functions = [clean_up, tokenize, stem_and_lemmatize, remove_stopwords]\n", + " # for f in functions: \n", + " # x = f(x)\n", + " #return x\n", + "#short['text_processed']=short.text.apply(clean_f)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
targetiddateflagusertexttext_processed
001467810369Mon Apr 06 22:19:45 PDT 2009NO_QUERY_TheSpecialOne_@switchfoot http://twitpic.com/2y1zl - Awww, t...[switchfoot, zl, awww, bummer, shoulda, got, d...
101467810672Mon Apr 06 22:19:49 PDT 2009NO_QUERYscotthamiltonis upset that he can't update his Facebook by ...[upset, updat, facebook, text, might, cri, res...
201467810917Mon Apr 06 22:19:53 PDT 2009NO_QUERYmattycus@Kenichan I dived many times for the ball. Man...[kenichan, dive, mani, time, ball, manag, save...
301467811184Mon Apr 06 22:19:57 PDT 2009NO_QUERYElleCTFmy whole body feels itchy and like its on fire[whole, bodi, feel, itchi, like, fire]
401467811193Mon Apr 06 22:19:57 PDT 2009NO_QUERYKaroli@nationwideclass no, it's not behaving at all....[nationwideclass, behav, mad, whi, becaus, see]
\n", + "
" + ], + "text/plain": [ + " target id date flag \\\n", + "0 0 1467810369 Mon Apr 06 22:19:45 PDT 2009 NO_QUERY \n", + "1 0 1467810672 Mon Apr 06 22:19:49 PDT 2009 NO_QUERY \n", + "2 0 1467810917 Mon Apr 06 22:19:53 PDT 2009 NO_QUERY \n", + "3 0 1467811184 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY \n", + "4 0 1467811193 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY \n", + "\n", + " user text \\\n", + "0 _TheSpecialOne_ @switchfoot http://twitpic.com/2y1zl - Awww, t... \n", + "1 scotthamilton is upset that he can't update his Facebook by ... \n", + "2 mattycus @Kenichan I dived many times for the ball. Man... \n", + "3 ElleCTF my whole body feels itchy and like its on fire \n", + "4 Karoli @nationwideclass no, it's not behaving at all.... \n", + "\n", + " text_processed \n", + "0 [switchfoot, zl, awww, bummer, shoulda, got, d... \n", + "1 [upset, updat, facebook, text, might, cri, res... \n", + "2 [kenichan, dive, mani, time, ball, manag, save... \n", + "3 [whole, bodi, feel, itchi, like, fire] \n", + "4 [nationwideclass, behav, mad, whi, becaus, see] " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "short.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Creating Bag of Words" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "words = []\n", + "for x in short.text_processed:\n", + " words += x" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['switchfoot',\n", + " 'zl',\n", + " 'awww',\n", + " 'bummer',\n", + " 'shoulda',\n", + " 'got',\n", + " 'david',\n", + " 'carr',\n", + " 'third',\n", + " 'day']" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "words[0:10]" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['go', 'work', 'get', 'wa', 'day', 'like', 'today', 'miss', 'sleep', 'feel']" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from nltk.probability import FreqDist\n", + "\n", + "fdist = FreqDist(words)\n", + "# sorted(fdist, key=fdist.get, reverse=True)[:5000]\n", + "\n", + "voc = fdist.most_common(5000)\n", + "bag_of_words = [x[0] for x in voc]\n", + "bag_of_words[0:10]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "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.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/module-3/lab-nlp/Main.ipynb b/module-3/lab-nlp/Main.ipynb new file mode 100644 index 0000000..a58cb8c --- /dev/null +++ b/module-3/lab-nlp/Main.ipynb @@ -0,0 +1,805 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Challenge 1 " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import nltk" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package brown to /Users/juan/nltk_data...\n", + "[nltk_data] Unzipping corpora/brown.zip.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['The', 'Fulton', 'County', 'Grand', 'Jury', 'said', 'Friday', 'an', 'investigation', 'of']\n" + ] + } + ], + "source": [ + "from nltk.corpus import brown\n", + "nltk.download('brown')\n", + "\n", + "print(brown.words()[0:10])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('The', 'AT'), ('Fulton', 'NP-TL'), ('County', 'NN-TL'), ('Grand', 'JJ-TL'), ('Jury', 'NN-TL'), ('said', 'VBD'), ('Friday', 'NR'), ('an', 'AT'), ('investigation', 'NN'), ('of', 'IN')]\n" + ] + } + ], + "source": [ + "print(brown.tagged_words()[0:10])" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "text = '''Ironhack is a Global Tech School ranked num 2 worldwide.\n", + " Our mission is to help people transform their careers and join a thriving \n", + " community of tech professionals that love what they do. This ideology is reflected \n", + " in our teaching practices, which consist of a nine-weeks immersive programming, UX/UI \n", + " design or Data Analytics course as well as a one-week hiring fair aimed at helping our \n", + " students change their career and get a job straight after the course. \n", + " We are present in 8 countries and have campuses in 9 locations - Madrid, Barcelona, Miami, \n", + " Paris, Mexico City, Berlin, Amsterdam, Sao Paulo and Lisbon.'''" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package punkt to /Users/juan/nltk_data...\n", + "[nltk_data] Unzipping tokenizers/punkt.zip.\n" + ] + }, + { + "data": { + "text/plain": [ + "['Ironhack is a Global Tech School ranked num 2 worldwide.',\n", + " 'Our mission is to help people transform their careers and join a thriving \\n community of tech professionals that love what they do.',\n", + " 'This ideology is reflected \\n in our teaching practices, which consist of a nine-weeks immersive programming, UX/UI \\n design or Data Analytics course as well as a one-week hiring fair aimed at helping our \\n students change their career and get a job straight after the course.',\n", + " 'We are present in 8 countries and have campuses in 9 locations - Madrid, Barcelona, Miami, \\n Paris, Mexico City, Berlin, Amsterdam, Sao Paulo and Lisbon.']" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from nltk import sent_tokenize, word_tokenize\n", + "nltk.download('punkt')\n", + "\n", + "sent_tokenize(text)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Ironhack',\n", + " 'is',\n", + " 'a',\n", + " 'Global',\n", + " 'Tech',\n", + " 'School',\n", + " 'ranked',\n", + " 'num',\n", + " '2',\n", + " 'worldwide',\n", + " '.',\n", + " 'Our',\n", + " 'mission',\n", + " 'is',\n", + " 'to',\n", + " 'help',\n", + " 'people',\n", + " 'transform',\n", + " 'their',\n", + " 'careers']" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "word_tokenize(text)[0:20]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Challenge 2" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "in_put = \"@Ironhack's-#Q website 776-is http://ironhack.com [(2018)])\"\n", + "out_put = 'ironhack s q website is'" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ironhack s q website is\n" + ] + } + ], + "source": [ + "import re\n", + "\n", + "def clean_up(s):\n", + " \"\"\"\n", + " Cleans up numbers, URLs, and special characters from a string.\n", + "\n", + " Args:\n", + " s: The string to be cleaned up.\n", + "\n", + " Returns:\n", + " A string that has been cleaned up.\n", + " \"\"\"\n", + " \n", + " s = re.sub(r'https?://(?:[-\\w.]|(?:%[\\da-fA-F]{2}))+', '', s) # para limpiar URL\n", + " s = re.sub('\\d', ' ', s) # /d Any numeric character\n", + " s = re.sub('\\W', ' ', s) # Any non-alphanumeric character\n", + " return s.lower().strip()\n", + "\n", + "print(clean_up(in_put))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Tokenization" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ironhack', 's', 'q', 'website', 'is']\n" + ] + } + ], + "source": [ + "def tokenize(s):\n", + " \"\"\"\n", + " Tokenize a string.\n", + "\n", + " Args:\n", + " s: String to be tokenized.\n", + "\n", + " Returns:\n", + " A list of words as the result of tokenization.\n", + " \"\"\"\n", + "\n", + " return word_tokenize(clean_up(s))\n", + "\n", + "print(tokenize(in_put))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package wordnet to /Users/juan/nltk_data...\n", + "[nltk_data] Unzipping corpora/wordnet.zip.\n" + ] + }, + { + "data": { + "text/plain": [ + "'run'" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from nltk.stem import WordNetLemmatizer\n", + "\n", + "nltk.download('wordnet')\n", + "\n", + "lemmatizer = WordNetLemmatizer()\n", + "lemmatizer.lemmatize('was')\n", + "\n", + "lemmatizer.lemmatize('runs', pos='v')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ironhack', 's', 'q', 'websit', 'is']\n" + ] + } + ], + "source": [ + "from nltk.stem import SnowballStemmer\n", + "\n", + "def stem_and_lemmatize(s):\n", + " \"\"\"\n", + " Perform stemming and lemmatization on a list of words.\n", + "\n", + " Args:\n", + " l: A list of strings.\n", + "\n", + " Returns:\n", + " A list of strings after being stemmed and lemmatized.\n", + " \"\"\"\n", + " return [WordNetLemmatizer().lemmatize(SnowballStemmer('english').stem(x)) for x in tokenize(s)]\n", + " \n", + " \n", + "print(stem_and_lemmatize(in_put)) # nos ha quitado una 'e' en websit" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Stop Words Removal" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package stopwords to /Users/juan/nltk_data...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ironhack', 'q', 'websit']\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Unzipping corpora/stopwords.zip.\n" + ] + } + ], + "source": [ + "from nltk.corpus import stopwords \n", + "nltk.download('stopwords')\n", + "\n", + "\n", + "def remove_stopwords(s):\n", + " \"\"\"\n", + " Remove English stopwords from a list of strings.\n", + "\n", + " Args:\n", + " l: A list of strings.\n", + "\n", + " Returns:\n", + " A list of strings after stop words are removed.\n", + " \"\"\"\n", + " \n", + " stop_words = set(stopwords.words('english'))\n", + " filtered_sentence = [w for w in stem_and_lemmatize(s) if not w in stop_words] \n", + " \n", + " return filtered_sentence\n", + " \n", + "print(remove_stopwords(in_put))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Challenge 3" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package vader_lexicon to\n", + "[nltk_data] /Users/juan/nltk_data...\n" + ] + }, + { + "data": { + "text/plain": [ + "{'neg': 0.0, 'neu': 0.741, 'pos': 0.259, 'compound': 0.8442}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from nltk.sentiment.vader import SentimentIntensityAnalyzer\n", + "nltk.download('vader_lexicon')\n", + "\n", + "txt = \"Ironhack is a Global Tech School ranked num 2 worldwide. 
", + "
", + "Our mission is to help people transform their careers and join a thriving community of tech professionals that love what they do.\"\n", + "analyzer = SentimentIntensityAnalyzer()\n", + "analyzer.polarity_scores(txt)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
targetiddateflagusertext
001467810369Mon Apr 06 22:19:45 PDT 2009NO_QUERY_TheSpecialOne_@switchfoot http://twitpic.com/2y1zl - Awww, t...
101467810672Mon Apr 06 22:19:49 PDT 2009NO_QUERYscotthamiltonis upset that he can't update his Facebook by ...
201467810917Mon Apr 06 22:19:53 PDT 2009NO_QUERYmattycus@Kenichan I dived many times for the ball. Man...
301467811184Mon Apr 06 22:19:57 PDT 2009NO_QUERYElleCTFmy whole body feels itchy and like its on fire
401467811193Mon Apr 06 22:19:57 PDT 2009NO_QUERYKaroli@nationwideclass no, it's not behaving at all....
\n", + "
" + ], + "text/plain": [ + " target id date flag \\\n", + "0 0 1467810369 Mon Apr 06 22:19:45 PDT 2009 NO_QUERY \n", + "1 0 1467810672 Mon Apr 06 22:19:49 PDT 2009 NO_QUERY \n", + "2 0 1467810917 Mon Apr 06 22:19:53 PDT 2009 NO_QUERY \n", + "3 0 1467811184 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY \n", + "4 0 1467811193 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY \n", + "\n", + " user text \n", + "0 _TheSpecialOne_ @switchfoot http://twitpic.com/2y1zl - Awww, t... \n", + "1 scotthamilton is upset that he can't update his Facebook by ... \n", + "2 mattycus @Kenichan I dived many times for the ball. Man... \n", + "3 ElleCTF my whole body feels itchy and like its on fire \n", + "4 Karoli @nationwideclass no, it's not behaving at all.... " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "import zipfile\n", + "\n", + "zf = zipfile.ZipFile('Sentiment140.csv.zip')\n", + "sen = pd.read_csv(zf.open('Sentiment140.csv'))\n", + "sen.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "short = sen[:5000] # Lo acortamos para que no tarde muchísimo en ejecutarse porque son 1.6 millones de rows" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/juan/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " \"\"\"Entry point for launching an IPython kernel.\n" + ] + } + ], + "source": [ + "short['text_processed'] = short['text'].apply(remove_stopwords)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "#def clean_f(x): \n", + " # functions = [clean_up, tokenize, stem_and_lemmatize, remove_stopwords]\n", + " # for f in functions: \n", + " # x = f(x)\n", + " #return x\n", + "#short['text_processed']=short.text.apply(clean_f)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
targetiddateflagusertexttext_processed
001467810369Mon Apr 06 22:19:45 PDT 2009NO_QUERY_TheSpecialOne_@switchfoot http://twitpic.com/2y1zl - Awww, t...[switchfoot, zl, awww, bummer, shoulda, got, d...
101467810672Mon Apr 06 22:19:49 PDT 2009NO_QUERYscotthamiltonis upset that he can't update his Facebook by ...[upset, updat, facebook, text, might, cri, res...
201467810917Mon Apr 06 22:19:53 PDT 2009NO_QUERYmattycus@Kenichan I dived many times for the ball. Man...[kenichan, dive, mani, time, ball, manag, save...
301467811184Mon Apr 06 22:19:57 PDT 2009NO_QUERYElleCTFmy whole body feels itchy and like its on fire[whole, bodi, feel, itchi, like, fire]
401467811193Mon Apr 06 22:19:57 PDT 2009NO_QUERYKaroli@nationwideclass no, it's not behaving at all....[nationwideclass, behav, mad, whi, becaus, see]
\n", + "
" + ], + "text/plain": [ + " target id date flag \\\n", + "0 0 1467810369 Mon Apr 06 22:19:45 PDT 2009 NO_QUERY \n", + "1 0 1467810672 Mon Apr 06 22:19:49 PDT 2009 NO_QUERY \n", + "2 0 1467810917 Mon Apr 06 22:19:53 PDT 2009 NO_QUERY \n", + "3 0 1467811184 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY \n", + "4 0 1467811193 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY \n", + "\n", + " user text \\\n", + "0 _TheSpecialOne_ @switchfoot http://twitpic.com/2y1zl - Awww, t... \n", + "1 scotthamilton is upset that he can't update his Facebook by ... \n", + "2 mattycus @Kenichan I dived many times for the ball. Man... \n", + "3 ElleCTF my whole body feels itchy and like its on fire \n", + "4 Karoli @nationwideclass no, it's not behaving at all.... \n", + "\n", + " text_processed \n", + "0 [switchfoot, zl, awww, bummer, shoulda, got, d... \n", + "1 [upset, updat, facebook, text, might, cri, res... \n", + "2 [kenichan, dive, mani, time, ball, manag, save... \n", + "3 [whole, bodi, feel, itchi, like, fire] \n", + "4 [nationwideclass, behav, mad, whi, becaus, see] " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "short.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Creating Bag of Words" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "words = []\n", + "for x in short.text_processed:\n", + " words += x" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['switchfoot',\n", + " 'zl',\n", + " 'awww',\n", + " 'bummer',\n", + " 'shoulda',\n", + " 'got',\n", + " 'david',\n", + " 'carr',\n", + " 'third',\n", + " 'day']" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "words[0:10]" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['go', 'work', 'get', 'wa', 'day', 'like', 'today', 'miss', 'sleep', 'feel']" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from nltk.probability import FreqDist\n", + "\n", + "fdist = FreqDist(words)\n", + "# sorted(fdist, key=fdist.get, reverse=True)[:5000]\n", + "\n", + "voc = fdist.most_common(5000)\n", + "bag_of_words = [x[0] for x in voc]\n", + "bag_of_words[0:10]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "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.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}