{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# <font color='blue'>Data Science Academy - Python Fundamentos - Capítulo 6</font>\n",
    "\n",
    "## Download: http://github.com/dsacademybr"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Stream de Dados do Twitter com MongoDB, Pandas e Scikit Learn"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Preparando a Conexão com o Twitter"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Instala o pacote tweepy\n",
    "!pip install tweepy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Importando os módulos Tweepy, Datetime e Json\n",
    "from tweepy.streaming import StreamListener\n",
    "from tweepy import OAuthHandler\n",
    "from tweepy import Stream\n",
    "from datetime import datetime\n",
    "import json"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Veja no manual em pdf como criar sua API no Twitter e configure as suas chaves abaixo."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Adicione aqui sua Consumer Key\n",
    "consumer_key = \"xxxxxxxxx\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Adicione aqui sua Consumer Secret \n",
    "consumer_secret = \"xxxxxxxxx\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Adicione aqui seu Access Token\n",
    "access_token = \"xxxxxxxxx\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Adicione aqui seu Access Token Secret\n",
    "access_token_secret = \"xxxxxxxxx\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Criando as chaves de autenticação\n",
    "auth = OAuthHandler(consumer_key, consumer_secret)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "auth.set_access_token(access_token, access_token_secret)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Criando uma classe para capturar os stream de dados do Twitter e \n",
    "# armazenar no MongoDB\n",
    "class MyListener(StreamListener):\n",
    "    def on_data(self, dados):\n",
    "        tweet = json.loads(dados)\n",
    "        created_at = tweet[\"created_at\"]\n",
    "        id_str = tweet[\"id_str\"]\n",
    "        text = tweet[\"text\"]\n",
    "        obj = {\"created_at\":created_at,\"id_str\":id_str,\"text\":text,}\n",
    "        tweetind = col.insert_one(obj).inserted_id\n",
    "        print (obj)\n",
    "        return True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Criando o objeto mylistener\n",
    "mylistener = MyListener()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Criando o objeto mystream\n",
    "mystream = Stream(auth, listener = mylistener)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Preparando a Conexão com o MongoDB"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Importando do PyMongo o módulo MongoClient\n",
    "from pymongo import MongoClient   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Criando a conexão ao MongoDB\n",
    "client = MongoClient('localhost', 27017)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Criando o banco de dados twitterdb\n",
    "db = client.twitterdb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Criando a collection \"col\"\n",
    "col = db.tweets "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Criando uma lista de palavras chave para buscar nos Tweets\n",
    "keywords = ['Big Data', 'Python', 'Data Mining', 'Data Science']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Coletando os Tweets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'created_at': 'Thu Apr 19 23:27:20 +0000 2018', 'id_str': '987110427745173504', 'text': '【必要な経験】\\n以下のコンピュータ関連の経験\\n・PC操作（Office等の一般的なアプリケーションの利用経験）\\n・Unix （Linux, MacOS等）上でのプログラミング経験（シェルスクリプト, C, Pythonなど）\\n・画… https://t.co/c3mkI6wAuE', '_id': ObjectId('5ad925d8b093151a487bc040')}\n",
      "{'created_at': 'Thu Apr 19 23:27:21 +0000 2018', 'id_str': '987110432581308417', 'text': 'RT @treventos: #Python, É hora de Aprender!\\n\\nhttps://t.co/VTx87nzEzx https://t.co/zIXwI3ch2E', '_id': ObjectId('5ad925d9b093151a487bc041')}\n",
      "{'created_at': 'Thu Apr 19 23:27:21 +0000 2018', 'id_str': '987110433109635072', 'text': 'RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初めて起動したらあいつ『ようこそ』とか言い出すんだよ。なーにがようこそだよ！人様の家に来てるんだから『お邪魔します』とか『よろしくお願いします』だろうが！」って言い出して爆笑した', '_id': ObjectId('5ad925d9b093151a487bc042')}\n",
      "{'created_at': 'Thu Apr 19 23:27:22 +0000 2018', 'id_str': '987110438721740800', 'text': 'Why airlines are finally poised to unlock Big Data to enhance the passenger experience https://t.co/4V8DJuPP4S #SPShotels #HotelProfs', '_id': ObjectId('5ad925dbb093151a487bc043')}\n",
      "{'created_at': 'Thu Apr 19 23:27:33 +0000 2018', 'id_str': '987110482635997185', 'text': \"RT @JonTrevithick: The first Python to utter, 'And now for something completely different' was actually Eric Idle, in the 2nd episode. http…\", '_id': ObjectId('5ad925e5b093151a487bc044')}\n",
      "{'created_at': 'Thu Apr 19 23:27:35 +0000 2018', 'id_str': '987110493641830400', 'text': '@LazyBeeScripts I plan to use my profits at serial spamming to help fund a Broadway production of Monty Python and… https://t.co/jaI1G8cdKr', '_id': ObjectId('5ad925e8b093151a487bc045')}\n",
      "{'created_at': 'Thu Apr 19 23:27:37 +0000 2018', 'id_str': '987110501439094785', 'text': 'RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部のAIセミナー行ってくるやでー」\\nぼく「おっいってらっしゃいませ」\\n\\n～今～\\n上司さんメール\\n「件名：助けて」\\n\\nぼく「一体何が」\\n\\n上司さんメール\\n「ずっとpython？とかいうプログラム…', '_id': ObjectId('5ad925eab093151a487bc046')}\n",
      "{'created_at': 'Thu Apr 19 23:27:38 +0000 2018', 'id_str': '987110504450555904', 'text': 'Importance of “Big Data” สำคัญสำหรับธุรกิจยุค 4.0  อย่างไร - https://t.co/UrnnyqaqkW #BigData #Business', '_id': ObjectId('5ad925eab093151a487bc047')}\n",
      "{'created_at': 'Thu Apr 19 23:27:38 +0000 2018', 'id_str': '987110504689627136', 'text': 'RT @DozenDolls: @yontengoP @Xatz よくある数式をあえて書かず、\\nNNライブラリもあえて使わず、\\npythonのnumpy行列計算のコードを積み重ねて\\n手書き文字認識が出来るとこまで解説する\\n「ゼロからはじめるディープラーニング」\\nというオライリー…', '_id': ObjectId('5ad925eab093151a487bc048')}\n",
      "{'created_at': 'Thu Apr 19 23:27:39 +0000 2018', 'id_str': '987110507545968640', 'text': 'RT @Akira_Kido_N: C# の Linq が python の２倍遅い、は嘘 on @Qiita https://t.co/vYr394r7ca', '_id': ObjectId('5ad925ebb093151a487bc049')}\n",
      "{'created_at': 'Thu Apr 19 23:27:41 +0000 2018', 'id_str': '987110514982404096', 'text': \"@redrock_bball Traded for a four'n'twenty and a killer python.\", '_id': ObjectId('5ad925edb093151a487bc04a')}\n",
      "{'created_at': 'Thu Apr 19 23:27:41 +0000 2018', 'id_str': '987110517318668288', 'text': 'RT @DozenDolls: @yontengoP @Xatz やべ、タイトル間違えてた\\n\\nhttps://t.co/FFIK8FEAYL\\n\\nこれね\\n原理的なところを独学独習したい人にはおすすめです\\n\\npython知らない人が読むと\\n件の上司の方のように\\npythonの説明ば…', '_id': ObjectId('5ad925edb093151a487bc04b')}\n",
      "{'created_at': 'Thu Apr 19 23:27:42 +0000 2018', 'id_str': '987110519269019649', 'text': 'RT @DozenDolls: @yontengoP @Xatz やべ、タイトル間違えてた\\n\\nhttps://t.co/FFIK8FEAYL\\n\\nこれね\\n原理的なところを独学独習したい人にはおすすめです\\n\\npython知らない人が読むと\\n件の上司の方のように\\npythonの説明ば…', '_id': ObjectId('5ad925eeb093151a487bc04c')}\n",
      "{'created_at': 'Thu Apr 19 23:27:45 +0000 2018', 'id_str': '987110532229582848', 'text': \"RT @carolecadwalla: Wow. This is BIG. @Arron_banks, are you listening to Brittany Kaiser give evidence? She's talking about transferring da…\", '_id': ObjectId('5ad925f1b093151a487bc04d')}\n",
      "{'created_at': 'Thu Apr 19 23:27:45 +0000 2018', 'id_str': '987110532732731392', 'text': 'tinterのラベルフレーム生成をクラスにまとめる時、フレームサイズを指示しないと表示されないのなんでだろ。packのオプションなしにすると表示されないけど、適当にサイズ指定すると表示される。\\n#python #tkinter #プログラミング初心者', '_id': ObjectId('5ad925f1b093151a487bc04e')}\n",
      "{'created_at': 'Thu Apr 19 23:27:45 +0000 2018', 'id_str': '987110534318145536', 'text': 'RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部のAIセミナー行ってくるやでー」\\nぼく「おっいってらっしゃいませ」\\n\\n～今～\\n上司さんメール\\n「件名：助けて」\\n\\nぼく「一体何が」\\n\\n上司さんメール\\n「ずっとpython？とかいうプログラム…', '_id': ObjectId('5ad925f2b093151a487bc04f')}\n",
      "{'created_at': 'Thu Apr 19 23:27:46 +0000 2018', 'id_str': '987110536230948864', 'text': '@leyasupls @HanAlolaSH si tu as un compte netflix,  ya les monty python (très cool) et one punch man, pour rigoler un peu', '_id': ObjectId('5ad925f2b093151a487bc050')}\n",
      "{'created_at': 'Thu Apr 19 23:27:47 +0000 2018', 'id_str': '987110540714631169', 'text': 'have and climb python milkman No to with #diorsauvage', '_id': ObjectId('5ad925f3b093151a487bc051')}\n",
      "{'created_at': 'Thu Apr 19 23:27:49 +0000 2018', 'id_str': '987110550290087937', 'text': 'Fun consequence of functions as first class values, if you mindlessly call print(print) instead of what you were tr… https://t.co/ye96i1GxFM', '_id': ObjectId('5ad925f5b093151a487bc052')}\n",
      "{'created_at': 'Thu Apr 19 23:27:52 +0000 2018', 'id_str': '987110564559138816', 'text': 'RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなりアグレッシブで\\n「じゃあその場で講師がpythonをライブコーディングして書いて、観客からは適宜、歓声や罵声、指摘や質問が飛ぶ」\\nという尖りまくった内容らしい。\\n\\nなお上司さんはプログラ…', '_id': ObjectId('5ad925f9b093151a487bc053')}\n",
      "{'created_at': 'Thu Apr 19 23:27:58 +0000 2018', 'id_str': '987110586910556160', 'text': 'RT @Avery1776: @BenKTallmadge @JohnBrennan A FEW MORE MENTIONS\\nUnderwear Bomber\\nDrone Wars\\nSpying on Congress\\nHacking the State Dept\\n\"Moder…', '_id': ObjectId('5ad925feb093151a487bc054')}\n",
      "{'created_at': 'Thu Apr 19 23:27:59 +0000 2018', 'id_str': '987110593390759936', 'text': 'RT @DozenDolls: @yontengoP @Xatz よくある数式をあえて書かず、\\nNNライブラリもあえて使わず、\\npythonのnumpy行列計算のコードを積み重ねて\\n手書き文字認識が出来るとこまで解説する\\n「ゼロからはじめるディープラーニング」\\nというオライリー…', '_id': ObjectId('5ad925ffb093151a487bc055')}\n",
      "{'created_at': 'Thu Apr 19 23:28:00 +0000 2018', 'id_str': '987110598352629762', 'text': '@AlexCatto_ i could go a killer python right about now', '_id': ObjectId('5ad92601b093151a487bc056')}\n",
      "{'created_at': 'Thu Apr 19 23:28:03 +0000 2018', 'id_str': '987110608855281665', 'text': 'RT @drbiomass: Why are data science leaders running for the exit? https://t.co/RJBTLqg7hA #AI #MachineLearning #BigData #DataScience #FinTe…', '_id': ObjectId('5ad92603b093151a487bc057')}\n",
      "{'created_at': 'Thu Apr 19 23:28:06 +0000 2018', 'id_str': '987110623367413760', 'text': 'RT @BigDataBlogs: Data Science: Top 100 Influencers, Brands and Publications » https://t.co/bYkM2gyAFf #DataScientist #BigData', '_id': ObjectId('5ad92607b093151a487bc058')}\n",
      "{'created_at': 'Thu Apr 19 23:28:08 +0000 2018', 'id_str': '987110629071728640', 'text': 'My day-old, new pc’s OS install malfunctioned due to a known bug in the latest update, and needed to be clean insta… https://t.co/wn3FDDjDwd', '_id': ObjectId('5ad92608b093151a487bc059')}\n",
      "{'created_at': 'Thu Apr 19 23:28:15 +0000 2018', 'id_str': '987110657626587137', 'text': 'RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部のAIセミナー行ってくるやでー」\\nぼく「おっいってらっしゃいませ」\\n\\n～今～\\n上司さんメール\\n「件名：助けて」\\n\\nぼく「一体何が」\\n\\n上司さんメール\\n「ずっとpython？とかいうプログラム…', '_id': ObjectId('5ad9260fb093151a487bc05a')}\n",
      "{'created_at': 'Thu Apr 19 23:28:16 +0000 2018', 'id_str': '987110665251831813', 'text': \"RT @kevinarnovitz: Snakes in a backpack. How Robert Covington's python, TJ McConnell's coffee addiction, JJ Redick's fascination with Simul…\", '_id': ObjectId('5ad92611b093151a487bc05b')}\n",
      "{'created_at': 'Thu Apr 19 23:28:17 +0000 2018', 'id_str': '987110668313640960', 'text': 'RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなりアグレッシブで\\n「じゃあその場で講師がpythonをライブコーディングして書いて、観客からは適宜、歓声や罵声、指摘や質問が飛ぶ」\\nという尖りまくった内容らしい。\\n\\nなお上司さんはプログラ…', '_id': ObjectId('5ad92611b093151a487bc05c')}\n",
      "{'created_at': 'Thu Apr 19 23:28:18 +0000 2018', 'id_str': '987110672776552448', 'text': \"RT @onyematomorrow4: Retweeted Mary Mkemdi (@NkemdiMary):\\n\\nI hope the python Governor don't send his dancing pythons to attack the striking…\", '_id': ObjectId('5ad92613b093151a487bc05d')}\n",
      "{'created_at': 'Thu Apr 19 23:28:27 +0000 2018', 'id_str': '987110708167913472', 'text': '@Chet_Cannon @ChiefFabulous https://t.co/MhOIjDuZVl', '_id': ObjectId('5ad9261bb093151a487bc05e')}\n",
      "{'created_at': 'Thu Apr 19 23:28:28 +0000 2018', 'id_str': '987110714996211712', 'text': 'オラクル、JavaやJavaScript、Ruby、Pythonなど多言語対応を単一ランタイムで実現する「GraalVM」をオープンソースで公開。Twitterが本番環境で採用 － Publickey https://t.co/sAFBRKz2hb', '_id': ObjectId('5ad9261db093151a487bc05f')}\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'created_at': 'Thu Apr 19 23:28:29 +0000 2018', 'id_str': '987110717999407104', 'text': 'RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初めて起動したらあいつ『ようこそ』とか言い出すんだよ。なーにがようこそだよ！人様の家に来てるんだから『お邪魔します』とか『よろしくお願いします』だろうが！」って言い出して爆笑した', '_id': ObjectId('5ad9261db093151a487bc060')}\n",
      "{'created_at': 'Thu Apr 19 23:28:30 +0000 2018', 'id_str': '987110720683753472', 'text': 'RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初めて起動したらあいつ『ようこそ』とか言い出すんだよ。なーにがようこそだよ！人様の家に来てるんだから『お邪魔します』とか『よろしくお願いします』だろうが！」って言い出して爆笑した', '_id': ObjectId('5ad9261eb093151a487bc061')}\n",
      "{'created_at': 'Thu Apr 19 23:28:34 +0000 2018', 'id_str': '987110738677284864', 'text': \"@toygrind Transformers '86\\nHot Fuzz\\nMonty Python and the Holy Grail\\nThe Big Lebowski\", '_id': ObjectId('5ad92622b093151a487bc062')}\n",
      "{'created_at': 'Thu Apr 19 23:28:38 +0000 2018', 'id_str': '987110756935139328', 'text': 'Really excited for what @wesmckinn is planning https://t.co/O2iuz4fsvY', '_id': ObjectId('5ad92627b093151a487bc063')}\n",
      "{'created_at': 'Thu Apr 19 23:28:39 +0000 2018', 'id_str': '987110758826827777', 'text': 'Python Developer, #Cambridge, Cambridgeshire, £40,000 - £55,000/annum\\xa0 #python https://t.co/ap3pyKS6cx', '_id': ObjectId('5ad92627b093151a487bc064')}\n",
      "{'created_at': 'Thu Apr 19 23:28:40 +0000 2018', 'id_str': '987110765852110848', 'text': '@MoeAkikaede 错了，给我一个前端我用不来，只能用基于这个前端的wp主题…并且HTML和PHP也才学起走…\\nc语言和Python对我来说太遥远🌚', '_id': ObjectId('5ad92629b093151a487bc065')}\n",
      "{'created_at': 'Thu Apr 19 23:28:43 +0000 2018', 'id_str': '987110776262492160', 'text': 'RT @IainLJBrown: Calgary sports fans are having more fun because of big data\\n\\nRead more here: https://t.co/gl3ciyEtZY\\n\\n#BigData #DataScienc…', '_id': ObjectId('5ad9262bb093151a487bc066')}\n",
      "{'created_at': 'Thu Apr 19 23:28:45 +0000 2018', 'id_str': '987110783657168896', 'text': \"RT @DrDenaGrayson: 🔥PALANTIR🔥\\n\\nIt's far past time for #Palantir founder/#Facebook board member Peter THIEL's turn in the barrel‼️\\n\\nPalantir…\", '_id': ObjectId('5ad9262db093151a487bc067')}\n",
      "{'created_at': 'Thu Apr 19 23:28:46 +0000 2018', 'id_str': '987110789285797889', 'text': 'RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初めて起動したらあいつ『ようこそ』とか言い出すんだよ。なーにがようこそだよ！人様の家に来てるんだから『お邪魔します』とか『よろしくお願いします』だろうが！」って言い出して爆笑した', '_id': ObjectId('5ad9262eb093151a487bc068')}\n",
      "{'created_at': 'Thu Apr 19 23:28:47 +0000 2018', 'id_str': '987110793417129984', 'text': 'RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部のAIセミナー行ってくるやでー」\\nぼく「おっいってらっしゃいませ」\\n\\n～今～\\n上司さんメール\\n「件名：助けて」\\n\\nぼく「一体何が」\\n\\n上司さんメール\\n「ずっとpython？とかいうプログラム…', '_id': ObjectId('5ad9262fb093151a487bc069')}\n",
      "{'created_at': 'Thu Apr 19 23:28:50 +0000 2018', 'id_str': '987110807577096192', 'text': 'RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなりアグレッシブで\\n「じゃあその場で講師がpythonをライブコーディングして書いて、観客からは適宜、歓声や罵声、指摘や質問が飛ぶ」\\nという尖りまくった内容らしい。\\n\\nなお上司さんはプログラ…', '_id': ObjectId('5ad92633b093151a487bc06a')}\n",
      "{'created_at': 'Thu Apr 19 23:28:52 +0000 2018', 'id_str': '987110816427139074', 'text': 'RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部のAIセミナー行ってくるやでー」\\nぼく「おっいってらっしゃいませ」\\n\\n～今～\\n上司さんメール\\n「件名：助けて」\\n\\nぼく「一体何が」\\n\\n上司さんメール\\n「ずっとpython？とかいうプログラム…', '_id': ObjectId('5ad92635b093151a487bc06b')}\n",
      "{'created_at': 'Thu Apr 19 23:28:57 +0000 2018', 'id_str': '987110836907855872', 'text': '#OMX #ProjectShivom #Blockchain #healthcare #genomics #cryptocurrency https://t.co/sP0H2w4WYv', '_id': ObjectId('5ad9263ab093151a487bc06c')}\n",
      "{'created_at': 'Thu Apr 19 23:28:59 +0000 2018', 'id_str': '987110845514575872', 'text': 'RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなりアグレッシブで\\n「じゃあその場で講師がpythonをライブコーディングして書いて、観客からは適宜、歓声や罵声、指摘や質問が飛ぶ」\\nという尖りまくった内容らしい。\\n\\nなお上司さんはプログラ…', '_id': ObjectId('5ad9263cb093151a487bc06d')}\n",
      "{'created_at': 'Thu Apr 19 23:29:01 +0000 2018', 'id_str': '987110852116574208', 'text': 'また発音悩む系\\nhttps://t.co/P0acOjBTCQ\\nオラクル、JavaやJavaScript、Ruby、Pythonなど多言語対応を単一ランタイムで実現する「GraalVM」をオープンソースで公開。Twitterが本番環境で採用', '_id': ObjectId('5ad9263eb093151a487bc06e')}\n",
      "{'created_at': 'Thu Apr 19 23:29:03 +0000 2018', 'id_str': '987110859980681216', 'text': 'RT @tictoc: Palantir is using War on Terror tools to track American citizens. The scary thing? The data-mining company is desperate for new…', '_id': ObjectId('5ad9263fb093151a487bc06f')}\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mWantReadError\u001b[0m                             Traceback (most recent call last)",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/urllib3/contrib/pyopenssl.py\u001b[0m in \u001b[0;36mrecv_into\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m    279\u001b[0m         \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 280\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconnection\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrecv_into\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    281\u001b[0m         \u001b[0;32mexcept\u001b[0m \u001b[0mOpenSSL\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSSL\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSysCallError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/OpenSSL/SSL.py\u001b[0m in \u001b[0;36mrecv_into\u001b[0;34m(self, buffer, nbytes, flags)\u001b[0m\n\u001b[1;32m   1624\u001b[0m             \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_lib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSSL_read\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_ssl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbuf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnbytes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1625\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_raise_ssl_error\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_ssl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1626\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/OpenSSL/SSL.py\u001b[0m in \u001b[0;36m_raise_ssl_error\u001b[0;34m(self, ssl, result)\u001b[0m\n\u001b[1;32m   1430\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0merror\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0m_lib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSSL_ERROR_WANT_READ\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1431\u001b[0;31m             \u001b[0;32mraise\u001b[0m \u001b[0mWantReadError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1432\u001b[0m         \u001b[0;32melif\u001b[0m \u001b[0merror\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0m_lib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSSL_ERROR_WANT_WRITE\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mWantReadError\u001b[0m: ",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-16-8f0eed42c826>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;31m# Iniciando o filtro e gravando os tweets no MongoDB\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mmystream\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfilter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrack\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mkeywords\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/tweepy/streaming.py\u001b[0m in \u001b[0;36mfilter\u001b[0;34m(self, follow, track, async, locations, stall_warnings, languages, encoding, filter_level)\u001b[0m\n\u001b[1;32m    448\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msession\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparams\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m'delimited'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'length'\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    449\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhost\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'stream.twitter.com'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 450\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_start\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0masync\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    451\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    452\u001b[0m     def sitestream(self, follow, stall_warnings=False,\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/tweepy/streaming.py\u001b[0m in \u001b[0;36m_start\u001b[0;34m(self, async)\u001b[0m\n\u001b[1;32m    362\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_thread\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    363\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 364\u001b[0;31m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_run\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    365\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    366\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mon_closed\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mresp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/tweepy/streaming.py\u001b[0m in \u001b[0;36m_run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    264\u001b[0m                     \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msnooze_time\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msnooze_time_step\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    265\u001b[0m                     \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlistener\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_connect\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 266\u001b[0;31m                     \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_read_loop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    267\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mTimeout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mssl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSSLError\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mexc\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    268\u001b[0m                 \u001b[0;31m# This is still necessary, as a SSLError can actually be\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/tweepy/streaming.py\u001b[0m in \u001b[0;36m_read_loop\u001b[0;34m(self, resp)\u001b[0m\n\u001b[1;32m    314\u001b[0m             \u001b[0mlength\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    315\u001b[0m             \u001b[0;32mwhile\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mresp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraw\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclosed\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 316\u001b[0;31m                 \u001b[0mline\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbuf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_line\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstrip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    317\u001b[0m                 \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mline\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    318\u001b[0m                     \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlistener\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeep_alive\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m  \u001b[0;31m# keep-alive new lines are expected\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/tweepy/streaming.py\u001b[0m in \u001b[0;36mread_line\u001b[0;34m(self, sep)\u001b[0m\n\u001b[1;32m    179\u001b[0m             \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    180\u001b[0m                 \u001b[0mstart\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_buffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 181\u001b[0;31m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_buffer\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_stream\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_chunk_size\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    182\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0msix\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m''\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    183\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/urllib3/response.py\u001b[0m in \u001b[0;36mread\u001b[0;34m(self, amt, decode_content, cache_content)\u001b[0m\n\u001b[1;32m    382\u001b[0m             \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    383\u001b[0m                 \u001b[0mcache_content\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 384\u001b[0;31m                 \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_fp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mamt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    385\u001b[0m                 \u001b[0;32mif\u001b[0m \u001b[0mamt\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m:\u001b[0m  \u001b[0;31m# Platform-specific: Buggy versions of Python.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    386\u001b[0m                     \u001b[0;31m# Close the connection when no data is returned\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/http/client.py\u001b[0m in \u001b[0;36mread\u001b[0;34m(self, amt)\u001b[0m\n\u001b[1;32m    447\u001b[0m             \u001b[0;31m# Amount is given, implement using readinto\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    448\u001b[0m             \u001b[0mb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbytearray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mamt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 449\u001b[0;31m             \u001b[0mn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadinto\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    450\u001b[0m             \u001b[0;32mreturn\u001b[0m \u001b[0mmemoryview\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtobytes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    451\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/http/client.py\u001b[0m in \u001b[0;36mreadinto\u001b[0;34m(self, b)\u001b[0m\n\u001b[1;32m    481\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    482\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mchunked\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 483\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_readinto_chunked\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    484\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    485\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlength\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/http/client.py\u001b[0m in \u001b[0;36m_readinto_chunked\u001b[0;34m(self, b)\u001b[0m\n\u001b[1;32m    576\u001b[0m         \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    577\u001b[0m             \u001b[0;32mwhile\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 578\u001b[0;31m                 \u001b[0mchunk_left\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_chunk_left\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    579\u001b[0m                 \u001b[0;32mif\u001b[0m \u001b[0mchunk_left\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    580\u001b[0m                     \u001b[0;32mreturn\u001b[0m \u001b[0mtotal_bytes\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/http/client.py\u001b[0m in \u001b[0;36m_get_chunk_left\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    544\u001b[0m                 \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_safe_read\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m  \u001b[0;31m# toss the CRLF at the end of the chunk\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    545\u001b[0m             \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 546\u001b[0;31m                 \u001b[0mchunk_left\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_read_next_chunk_size\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    547\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    548\u001b[0m                 \u001b[0;32mraise\u001b[0m \u001b[0mIncompleteRead\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mb''\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/http/client.py\u001b[0m in \u001b[0;36m_read_next_chunk_size\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    504\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m_read_next_chunk_size\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    505\u001b[0m         \u001b[0;31m# Read the next chunk size from the file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 506\u001b[0;31m         \u001b[0mline\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadline\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_MAXLINE\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    507\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0m_MAXLINE\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    508\u001b[0m             \u001b[0;32mraise\u001b[0m \u001b[0mLineTooLong\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"chunk size\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/socket.py\u001b[0m in \u001b[0;36mreadinto\u001b[0;34m(self, b)\u001b[0m\n\u001b[1;32m    584\u001b[0m         \u001b[0;32mwhile\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    585\u001b[0m             \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 586\u001b[0;31m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_sock\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrecv_into\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    587\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    588\u001b[0m                 \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_timeout_occurred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/urllib3/contrib/pyopenssl.py\u001b[0m in \u001b[0;36mrecv_into\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m    290\u001b[0m                 \u001b[0;32mraise\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    291\u001b[0m         \u001b[0;32mexcept\u001b[0m \u001b[0mOpenSSL\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSSL\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mWantReadError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 292\u001b[0;31m             \u001b[0mrd\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mutil\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait_for_read\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msocket\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msocket\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgettimeout\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    293\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mrd\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    294\u001b[0m                 \u001b[0;32mraise\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'The read operation timed out'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/urllib3/util/wait.py\u001b[0m in \u001b[0;36mwait_for_read\u001b[0;34m(socks, timeout)\u001b[0m\n\u001b[1;32m     31\u001b[0m     \u001b[0;32mor\u001b[0m \u001b[0moptionally\u001b[0m \u001b[0ma\u001b[0m \u001b[0msingle\u001b[0m \u001b[0msocket\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mpassed\u001b[0m \u001b[0;32min\u001b[0m\u001b[0;34m.\u001b[0m \u001b[0mReturns\u001b[0m \u001b[0ma\u001b[0m \u001b[0mlist\u001b[0m \u001b[0mof\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     32\u001b[0m     sockets that can be read from immediately. \"\"\"\n\u001b[0;32m---> 33\u001b[0;31m     \u001b[0;32mreturn\u001b[0m \u001b[0m_wait_for_io_events\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msocks\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mEVENT_READ\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     34\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     35\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/urllib3/util/wait.py\u001b[0m in \u001b[0;36m_wait_for_io_events\u001b[0;34m(socks, events, timeout)\u001b[0m\n\u001b[1;32m     24\u001b[0m             \u001b[0mselector\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mregister\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msock\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mevents\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     25\u001b[0m         return [key[0].fileobj for key in\n\u001b[0;32m---> 26\u001b[0;31m                 selector.select(timeout) if key[1] & events]\n\u001b[0m\u001b[1;32m     27\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     28\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/urllib3/util/selectors.py\u001b[0m in \u001b[0;36mselect\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m    511\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    512\u001b[0m             kevent_list = _syscall_wrapper(self._kqueue.control, True,\n\u001b[0;32m--> 513\u001b[0;31m                                            None, max_events, timeout)\n\u001b[0m\u001b[1;32m    514\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    515\u001b[0m             \u001b[0;32mfor\u001b[0m \u001b[0mkevent\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mkevent_list\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/urllib3/util/selectors.py\u001b[0m in \u001b[0;36m_syscall_wrapper\u001b[0;34m(func, _, *args, **kwargs)\u001b[0m\n\u001b[1;32m     62\u001b[0m         and recalculate their timeouts. \"\"\"\n\u001b[1;32m     63\u001b[0m         \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 64\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     65\u001b[0m         \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mOSError\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mIOError\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mselect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merror\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     66\u001b[0m             \u001b[0merrcode\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "# Iniciando o filtro e gravando os tweets no MongoDB\n",
    "mystream.filter(track=keywords)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## --> Pressione o botão Stop na barra de ferramentas para encerrar a captura dos Tweets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Consultando os Dados no MongoDB"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "mystream.disconnect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'_id': ObjectId('5ad925d8b093151a487bc040'),\n",
       " 'created_at': 'Thu Apr 19 23:27:20 +0000 2018',\n",
       " 'id_str': '987110427745173504',\n",
       " 'text': '【必要な経験】\\n以下のコンピュータ関連の経験\\n・PC操作（Office等の一般的なアプリケーションの利用経験）\\n・Unix （Linux, MacOS等）上でのプログラミング経験（シェルスクリプト, C, Pythonなど）\\n・画… https://t.co/c3mkI6wAuE'}"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Verificando um documento no collection\n",
    "col.find_one()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Análise de Dados com Pandas e Scikit-Learn"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# criando um dataset com dados retornados do MongoDB\n",
    "dataset = [{\"created_at\": item[\"created_at\"], \"text\": item[\"text\"],} for item in col.find()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Importando o módulo Pandas para trabalhar com datasets em Python\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Criando um dataframe a partir do dataset \n",
    "df = pd.DataFrame(dataset)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>created_at</th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Thu Apr 19 23:27:20 +0000 2018</td>\n",
       "      <td>【必要な経験】\\n以下のコンピュータ関連の経験\\n・PC操作（Office等の一般的なアプリ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Thu Apr 19 23:27:21 +0000 2018</td>\n",
       "      <td>RT @treventos: #Python, É hora de Aprender!\\n\\...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Thu Apr 19 23:27:21 +0000 2018</td>\n",
       "      <td>RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初め...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Thu Apr 19 23:27:22 +0000 2018</td>\n",
       "      <td>Why airlines are finally poised to unlock Big ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Thu Apr 19 23:27:33 +0000 2018</td>\n",
       "      <td>RT @JonTrevithick: The first Python to utter, ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Thu Apr 19 23:27:35 +0000 2018</td>\n",
       "      <td>@LazyBeeScripts I plan to use my profits at se...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Thu Apr 19 23:27:37 +0000 2018</td>\n",
       "      <td>RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部の...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Thu Apr 19 23:27:38 +0000 2018</td>\n",
       "      <td>Importance of “Big Data” สำคัญสำหรับธุรกิจยุค ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Thu Apr 19 23:27:38 +0000 2018</td>\n",
       "      <td>RT @DozenDolls: @yontengoP @Xatz よくある数式をあえて書かず...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Thu Apr 19 23:27:39 +0000 2018</td>\n",
       "      <td>RT @Akira_Kido_N: C# の Linq が python の２倍遅い、は嘘 ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Thu Apr 19 23:27:41 +0000 2018</td>\n",
       "      <td>@redrock_bball Traded for a four'n'twenty and ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Thu Apr 19 23:27:41 +0000 2018</td>\n",
       "      <td>RT @DozenDolls: @yontengoP @Xatz やべ、タイトル間違えてた\\...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Thu Apr 19 23:27:42 +0000 2018</td>\n",
       "      <td>RT @DozenDolls: @yontengoP @Xatz やべ、タイトル間違えてた\\...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>Thu Apr 19 23:27:45 +0000 2018</td>\n",
       "      <td>RT @carolecadwalla: Wow. This is BIG. @Arron_b...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>Thu Apr 19 23:27:45 +0000 2018</td>\n",
       "      <td>tinterのラベルフレーム生成をクラスにまとめる時、フレームサイズを指示しないと表示されな...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>Thu Apr 19 23:27:45 +0000 2018</td>\n",
       "      <td>RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部の...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>Thu Apr 19 23:27:46 +0000 2018</td>\n",
       "      <td>@leyasupls @HanAlolaSH si tu as un compte netf...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>Thu Apr 19 23:27:47 +0000 2018</td>\n",
       "      <td>have and climb python milkman No to with #dior...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>Thu Apr 19 23:27:49 +0000 2018</td>\n",
       "      <td>Fun consequence of functions as first class va...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>Thu Apr 19 23:27:52 +0000 2018</td>\n",
       "      <td>RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなり...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>Thu Apr 19 23:27:58 +0000 2018</td>\n",
       "      <td>RT @Avery1776: @BenKTallmadge @JohnBrennan A F...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>Thu Apr 19 23:27:59 +0000 2018</td>\n",
       "      <td>RT @DozenDolls: @yontengoP @Xatz よくある数式をあえて書かず...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>Thu Apr 19 23:28:00 +0000 2018</td>\n",
       "      <td>@AlexCatto_ i could go a killer python right a...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>Thu Apr 19 23:28:03 +0000 2018</td>\n",
       "      <td>RT @drbiomass: Why are data science leaders ru...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>Thu Apr 19 23:28:06 +0000 2018</td>\n",
       "      <td>RT @BigDataBlogs: Data Science: Top 100 Influe...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>Thu Apr 19 23:28:08 +0000 2018</td>\n",
       "      <td>My day-old, new pc’s OS install malfunctioned ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>Thu Apr 19 23:28:15 +0000 2018</td>\n",
       "      <td>RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部の...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>Thu Apr 19 23:28:16 +0000 2018</td>\n",
       "      <td>RT @kevinarnovitz: Snakes in a backpack. How R...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>Thu Apr 19 23:28:17 +0000 2018</td>\n",
       "      <td>RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなり...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>Thu Apr 19 23:28:18 +0000 2018</td>\n",
       "      <td>RT @onyematomorrow4: Retweeted Mary Mkemdi (@N...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>Thu Apr 19 23:28:27 +0000 2018</td>\n",
       "      <td>@Chet_Cannon @ChiefFabulous https://t.co/MhOIj...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>Thu Apr 19 23:28:28 +0000 2018</td>\n",
       "      <td>オラクル、JavaやJavaScript、Ruby、Pythonなど多言語対応を単一ランタイ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Thu Apr 19 23:28:29 +0000 2018</td>\n",
       "      <td>RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初め...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>Thu Apr 19 23:28:30 +0000 2018</td>\n",
       "      <td>RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初め...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>Thu Apr 19 23:28:34 +0000 2018</td>\n",
       "      <td>@toygrind Transformers '86\\nHot Fuzz\\nMonty Py...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>Thu Apr 19 23:28:38 +0000 2018</td>\n",
       "      <td>Really excited for what @wesmckinn is planning...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>Thu Apr 19 23:28:39 +0000 2018</td>\n",
       "      <td>Python Developer, #Cambridge, Cambridgeshire, ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>Thu Apr 19 23:28:40 +0000 2018</td>\n",
       "      <td>@MoeAkikaede 错了，给我一个前端我用不来，只能用基于这个前端的wp主题…并且HT...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>Thu Apr 19 23:28:43 +0000 2018</td>\n",
       "      <td>RT @IainLJBrown: Calgary sports fans are havin...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>Thu Apr 19 23:28:45 +0000 2018</td>\n",
       "      <td>RT @DrDenaGrayson: 🔥PALANTIR🔥\\n\\nIt's far past...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>Thu Apr 19 23:28:46 +0000 2018</td>\n",
       "      <td>RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初め...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>Thu Apr 19 23:28:47 +0000 2018</td>\n",
       "      <td>RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部の...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>Thu Apr 19 23:28:50 +0000 2018</td>\n",
       "      <td>RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなり...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>Thu Apr 19 23:28:52 +0000 2018</td>\n",
       "      <td>RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部の...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>Thu Apr 19 23:28:57 +0000 2018</td>\n",
       "      <td>#OMX #ProjectShivom #Blockchain #healthcare #g...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>Thu Apr 19 23:28:59 +0000 2018</td>\n",
       "      <td>RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなり...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>Thu Apr 19 23:29:01 +0000 2018</td>\n",
       "      <td>また発音悩む系\\nhttps://t.co/P0acOjBTCQ\\nオラクル、JavaやJa...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>Thu Apr 19 23:29:03 +0000 2018</td>\n",
       "      <td>RT @tictoc: Palantir is using War on Terror to...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        created_at  \\\n",
       "0   Thu Apr 19 23:27:20 +0000 2018   \n",
       "1   Thu Apr 19 23:27:21 +0000 2018   \n",
       "2   Thu Apr 19 23:27:21 +0000 2018   \n",
       "3   Thu Apr 19 23:27:22 +0000 2018   \n",
       "4   Thu Apr 19 23:27:33 +0000 2018   \n",
       "5   Thu Apr 19 23:27:35 +0000 2018   \n",
       "6   Thu Apr 19 23:27:37 +0000 2018   \n",
       "7   Thu Apr 19 23:27:38 +0000 2018   \n",
       "8   Thu Apr 19 23:27:38 +0000 2018   \n",
       "9   Thu Apr 19 23:27:39 +0000 2018   \n",
       "10  Thu Apr 19 23:27:41 +0000 2018   \n",
       "11  Thu Apr 19 23:27:41 +0000 2018   \n",
       "12  Thu Apr 19 23:27:42 +0000 2018   \n",
       "13  Thu Apr 19 23:27:45 +0000 2018   \n",
       "14  Thu Apr 19 23:27:45 +0000 2018   \n",
       "15  Thu Apr 19 23:27:45 +0000 2018   \n",
       "16  Thu Apr 19 23:27:46 +0000 2018   \n",
       "17  Thu Apr 19 23:27:47 +0000 2018   \n",
       "18  Thu Apr 19 23:27:49 +0000 2018   \n",
       "19  Thu Apr 19 23:27:52 +0000 2018   \n",
       "20  Thu Apr 19 23:27:58 +0000 2018   \n",
       "21  Thu Apr 19 23:27:59 +0000 2018   \n",
       "22  Thu Apr 19 23:28:00 +0000 2018   \n",
       "23  Thu Apr 19 23:28:03 +0000 2018   \n",
       "24  Thu Apr 19 23:28:06 +0000 2018   \n",
       "25  Thu Apr 19 23:28:08 +0000 2018   \n",
       "26  Thu Apr 19 23:28:15 +0000 2018   \n",
       "27  Thu Apr 19 23:28:16 +0000 2018   \n",
       "28  Thu Apr 19 23:28:17 +0000 2018   \n",
       "29  Thu Apr 19 23:28:18 +0000 2018   \n",
       "30  Thu Apr 19 23:28:27 +0000 2018   \n",
       "31  Thu Apr 19 23:28:28 +0000 2018   \n",
       "32  Thu Apr 19 23:28:29 +0000 2018   \n",
       "33  Thu Apr 19 23:28:30 +0000 2018   \n",
       "34  Thu Apr 19 23:28:34 +0000 2018   \n",
       "35  Thu Apr 19 23:28:38 +0000 2018   \n",
       "36  Thu Apr 19 23:28:39 +0000 2018   \n",
       "37  Thu Apr 19 23:28:40 +0000 2018   \n",
       "38  Thu Apr 19 23:28:43 +0000 2018   \n",
       "39  Thu Apr 19 23:28:45 +0000 2018   \n",
       "40  Thu Apr 19 23:28:46 +0000 2018   \n",
       "41  Thu Apr 19 23:28:47 +0000 2018   \n",
       "42  Thu Apr 19 23:28:50 +0000 2018   \n",
       "43  Thu Apr 19 23:28:52 +0000 2018   \n",
       "44  Thu Apr 19 23:28:57 +0000 2018   \n",
       "45  Thu Apr 19 23:28:59 +0000 2018   \n",
       "46  Thu Apr 19 23:29:01 +0000 2018   \n",
       "47  Thu Apr 19 23:29:03 +0000 2018   \n",
       "\n",
       "                                                 text  \n",
       "0   【必要な経験】\\n以下のコンピュータ関連の経験\\n・PC操作（Office等の一般的なアプリ...  \n",
       "1   RT @treventos: #Python, É hora de Aprender!\\n\\...  \n",
       "2   RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初め...  \n",
       "3   Why airlines are finally poised to unlock Big ...  \n",
       "4   RT @JonTrevithick: The first Python to utter, ...  \n",
       "5   @LazyBeeScripts I plan to use my profits at se...  \n",
       "6   RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部の...  \n",
       "7   Importance of “Big Data” สำคัญสำหรับธุรกิจยุค ...  \n",
       "8   RT @DozenDolls: @yontengoP @Xatz よくある数式をあえて書かず...  \n",
       "9   RT @Akira_Kido_N: C# の Linq が python の２倍遅い、は嘘 ...  \n",
       "10  @redrock_bball Traded for a four'n'twenty and ...  \n",
       "11  RT @DozenDolls: @yontengoP @Xatz やべ、タイトル間違えてた\\...  \n",
       "12  RT @DozenDolls: @yontengoP @Xatz やべ、タイトル間違えてた\\...  \n",
       "13  RT @carolecadwalla: Wow. This is BIG. @Arron_b...  \n",
       "14  tinterのラベルフレーム生成をクラスにまとめる時、フレームサイズを指示しないと表示されな...  \n",
       "15  RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部の...  \n",
       "16  @leyasupls @HanAlolaSH si tu as un compte netf...  \n",
       "17  have and climb python milkman No to with #dior...  \n",
       "18  Fun consequence of functions as first class va...  \n",
       "19  RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなり...  \n",
       "20  RT @Avery1776: @BenKTallmadge @JohnBrennan A F...  \n",
       "21  RT @DozenDolls: @yontengoP @Xatz よくある数式をあえて書かず...  \n",
       "22  @AlexCatto_ i could go a killer python right a...  \n",
       "23  RT @drbiomass: Why are data science leaders ru...  \n",
       "24  RT @BigDataBlogs: Data Science: Top 100 Influe...  \n",
       "25  My day-old, new pc’s OS install malfunctioned ...  \n",
       "26  RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部の...  \n",
       "27  RT @kevinarnovitz: Snakes in a backpack. How R...  \n",
       "28  RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなり...  \n",
       "29  RT @onyematomorrow4: Retweeted Mary Mkemdi (@N...  \n",
       "30  @Chet_Cannon @ChiefFabulous https://t.co/MhOIj...  \n",
       "31  オラクル、JavaやJavaScript、Ruby、Pythonなど多言語対応を単一ランタイ...  \n",
       "32  RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初め...  \n",
       "33  RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初め...  \n",
       "34  @toygrind Transformers '86\\nHot Fuzz\\nMonty Py...  \n",
       "35  Really excited for what @wesmckinn is planning...  \n",
       "36  Python Developer, #Cambridge, Cambridgeshire, ...  \n",
       "37  @MoeAkikaede 错了，给我一个前端我用不来，只能用基于这个前端的wp主题…并且HT...  \n",
       "38  RT @IainLJBrown: Calgary sports fans are havin...  \n",
       "39  RT @DrDenaGrayson: 🔥PALANTIR🔥\\n\\nIt's far past...  \n",
       "40  RT @_nametaketakewo: Pythonの授業の教員が「Mac買った時さ、初め...  \n",
       "41  RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部の...  \n",
       "42  RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなり...  \n",
       "43  RT @yontengoP: ～午前中～\\n上司さん「俺もAIとか勉強するために今日は外部の...  \n",
       "44  #OMX #ProjectShivom #Blockchain #healthcare #g...  \n",
       "45  RT @yontengoP: 休憩中に電話で聞いたところでは、IT寄りセミナーの中でもかなり...  \n",
       "46  また発音悩む系\\nhttps://t.co/P0acOjBTCQ\\nオラクル、JavaやJa...  \n",
       "47  RT @tictoc: Palantir is using War on Terror to...  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Imprimindo o dataframe\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Importando o módulo Scikit Learn\n",
    "from sklearn.feature_extraction.text import CountVectorizer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Usando o método CountVectorizer para criar uma matriz de documentos\n",
    "cv = CountVectorizer()\n",
    "count_matrix = cv.fit_transform(df.text)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>word</th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>rt</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>co</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>https</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>python</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>the</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>yontengop</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>to</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>ぼく</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>上司さんメール</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>and</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>for</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>data</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>ずっとpython</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>とかいうプログラム</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>件名</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>一体何が</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>上司さん</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>big</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>おっいってらっしゃいませ</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>俺もaiとか勉強するために今日は外部のaiセミナー行ってくるやでー</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>of</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>助けて</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>午前中</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>休憩中に電話で聞いたところでは</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>in</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>ようこそ</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>だろうが</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>it寄りセミナーの中でもかなりアグレッシブで</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>_nametaketakewo</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>is</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>なお上司さんはプログラ</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>なーにがようこそだよ</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>よろしくお願いします</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>とか言い出すんだよ</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>指摘や質問が飛ぶ</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>とか</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>という尖りまくった内容らしい</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>歓声や罵声</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>are</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>観客からは適宜</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>xatz</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>じゃあその場で講師がpythonをライブコーディングして書いて</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>mac買った時さ</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>palantir</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>bigdata</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>dozendolls</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>pythonの授業の教員が</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>人様の家に来てるんだから</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>お邪魔します</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>初めて起動したらあいつ</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                 word  count\n",
       "0                                  rt     29\n",
       "1                                  co     20\n",
       "2                               https     20\n",
       "3                              python     14\n",
       "4                                 the     13\n",
       "5                           yontengop     13\n",
       "6                                  to     11\n",
       "7                                  ぼく     10\n",
       "8                             上司さんメール     10\n",
       "9                                 and      7\n",
       "10                                for      6\n",
       "11                               data      6\n",
       "12                          ずっとpython      5\n",
       "13                          とかいうプログラム      5\n",
       "14                                 件名      5\n",
       "15                               一体何が      5\n",
       "16                               上司さん      5\n",
       "17                                big      5\n",
       "18                       おっいってらっしゃいませ      5\n",
       "19  俺もaiとか勉強するために今日は外部のaiセミナー行ってくるやでー      5\n",
       "20                                 of      5\n",
       "21                                助けて      5\n",
       "22                                午前中      5\n",
       "23                    休憩中に電話で聞いたところでは      4\n",
       "24                                 in      4\n",
       "25                               ようこそ      4\n",
       "26                               だろうが      4\n",
       "27             it寄りセミナーの中でもかなりアグレッシブで      4\n",
       "28                    _nametaketakewo      4\n",
       "29                                 is      4\n",
       "30                        なお上司さんはプログラ      4\n",
       "31                         なーにがようこそだよ      4\n",
       "32                         よろしくお願いします      4\n",
       "33                          とか言い出すんだよ      4\n",
       "34                           指摘や質問が飛ぶ      4\n",
       "35                                 とか      4\n",
       "36                     という尖りまくった内容らしい      4\n",
       "37                              歓声や罵声      4\n",
       "38                                are      4\n",
       "39                            観客からは適宜      4\n",
       "40                               xatz      4\n",
       "41    じゃあその場で講師がpythonをライブコーディングして書いて      4\n",
       "42                           mac買った時さ      4\n",
       "43                           palantir      4\n",
       "44                            bigdata      4\n",
       "45                         dozendolls      4\n",
       "46                      pythonの授業の教員が      4\n",
       "47                       人様の家に来てるんだから      4\n",
       "48                             お邪魔します      4\n",
       "49                        初めて起動したらあいつ      4"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Contando o número de ocorrências das principais palavras em nosso dataset\n",
    "word_count = pd.DataFrame(cv.get_feature_names(), columns=[\"word\"])\n",
    "word_count[\"count\"] = count_matrix.sum(axis=0).tolist()[0]\n",
    "word_count = word_count.sort_values(\"count\", ascending=False).reset_index(drop=True)\n",
    "word_count[:50]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Fim"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Obrigado - Data Science Academy - <a href=\"http://facebook.com/dsacademybr\">facebook.com/dsacademybr</a>"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
