From 89b76868eba54628b8f7d4751677abe4898b3b0d Mon Sep 17 00:00:00 2001 From: Eric Sherman Date: Mon, 28 Aug 2017 17:54:34 -0500 Subject: [PATCH] etl --- ETL_data.ipynb | 1752 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1752 insertions(+) create mode 100644 ETL_data.ipynb diff --git a/ETL_data.ipynb b/ETL_data.ipynb new file mode 100644 index 0000000..548d7cb --- /dev/null +++ b/ETL_data.ipynb @@ -0,0 +1,1752 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from bs4 import BeautifulSoup\n", + "import nltk\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import os\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# parse sample file\n", + "datapath = \"./transcripts\"\n", + "soup = BeautifulSoup(open(datapath+ 'example_ttml.xml'), 'html.parser')\n", + "result = [(p['begin'], p['end'], p.text) for p in soup.find_all('p')]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# parse a list of files into a python dictionary\n", + "datapath = \"./transcripts/\"\n", + "transcripts = {}\n", + "\n", + "for file in os.listdir(datapath):\n", + " if file.endswith(\".xml\"):\n", + " soup = BeautifulSoup(open(datapath+ file), 'html.parser')\n", + " result = [(p['begin'], p['end'], p.text) for p in soup.find_all('p')]\n", + " transcripts[file] = result" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "load dict into pandas dataframe\n" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['EVhOBO0Ti3Y.xml',\n", + " 'XSQOCXwNqUA.xml',\n", + " '31j_oEQe8jk.xml',\n", + " 'D4dacJrEAVE.xml',\n", + " 'hkxMirGeWaI.xml',\n", + " 'jpQI5skPJ2w.xml',\n", + " 'dAS4vBhTO6o.xml',\n", + " 'LqE0ANdOJ9U.xml',\n", + " 'BcY286asoaQ.xml',\n", + " 'A9UPmQFACEA.xml',\n", + " 'IHwHQI4MfgA.xml',\n", + " 'fjx49LtuSFY.xml',\n", + " 'Co7xBXwpzsM.xml',\n", + " 'nN3veIKCXIQ.xml',\n", + " 'Mv6kSadlgI0.xml',\n", + " 'BOL2YGm9Ayk.xml',\n", + " 'zjxGtP7-elU.xml',\n", + " 'ePoUs5ZgjB4.xml',\n", + " '4HBJvsTI7RE.xml',\n", + " 'svMEO9wrud4.xml',\n", + " 'EPlFe-Zq2AU.xml',\n", + " 'OU42D3GJn_8.xml',\n", + " 'ulrLTCrHeeo.xml',\n", + " 'IrPwZ7ejsw8.xml',\n", + " 'T-REmilO5Z4.xml',\n", + " 'tWUQyahTt5w.xml',\n", + " 'sZnZMow20hk.xml',\n", + " 'Yz2zXy-SZFU.xml',\n", + " 'W8475PSmFgk.xml',\n", + " 'FWkRY9FZQM4.xml',\n", + " 'dPKC9KZi7QM.xml',\n", + " 'hzEPbJ1Zb0M.xml',\n", + " 'bmnyeMo-B3M.xml',\n", + " '8JU7R1EOkh0.xml',\n", + " 'MshZX5jXeDg.xml',\n", + " '19exy8rX5m8.xml',\n", + " 'mas0TMe25sg.xml',\n", + " 'hJEqvLAfBYs.xml',\n", + " '7zxzHw3gsj4.xml',\n", + " 'pX27DCkpkY8.xml',\n", + " 'j1v2w9Z2B-4.xml',\n", + " 'McLo3_Hsr78.xml',\n", + " 'rD7ByPxRdNU.xml',\n", + " 'rPpmVv2e2kQ.xml',\n", + " 'H5T7iHSWcV8.xml',\n", + " 'ezVs975arf0.xml',\n", + " '5Sw10A0-ntQ.xml',\n", + " '68uGiX-DDH4.xml',\n", + " 'CHwZetuQadY.xml',\n", + " 'cGjCKfrH7J0.xml',\n", + " '2F10d_OCRRw.xml',\n", + " '1fQWo1BmwAc.xml',\n", + " 'JLUuglJBY28.xml',\n", + " 'NwS27OcpMRY.xml',\n", + " 'Um12bnDnu48.xml',\n", + " 'PlvU7gbU_go.xml',\n", + " 'ooSZv7_2SrI.xml',\n", + " 'w-oqBp08nRY.xml',\n", + " 'neJugRyHfVA.xml',\n", + " '2eJRPmZkKS4.xml',\n", + " 'qIYGKrYWEHo.xml',\n", + " 'ZvY7Bij-1Oc.xml',\n", + " 'HaKJuAaLDoY.xml',\n", + " 'Jm9BGsn2Lu8.xml',\n", + " 'g1SN1edTaZE.xml',\n", + " 'P571wjMedN8.xml',\n", + " 'VHF78CxRL0k.xml',\n", + " 'eWr6-a2tp1M.xml',\n", + " 'UY7FHc267uU.xml',\n", + " 'JlyVdTno3Mw.xml',\n", + " 'cYykJsGGO1Q.xml',\n", + " 'kGIMsdWO7tE.xml',\n", + " '3nWItbn1FHI.xml',\n", + " '4uBGky4m0DU.xml',\n", + " 'YK7Q2nxKYsI.xml',\n", + " 'tMygEEqVsjQ.xml',\n", + " 'j3Ltxgiw46o.xml',\n", + " 'MGsWfJ0eHZc.xml',\n", + " 'Nnu-3J8xKiI.xml',\n", + " 'HqziH6fTN1I.xml',\n", + " '0lJUNfkkix4.xml',\n", + " 'cqH5Li2de-c.xml',\n", + " '6YVN7fAA-wc.xml',\n", + " 'FQ7Qr1RMFcg.xml',\n", + " 'utgpFx-LhkU.xml',\n", + " '-Q9iAXpWxjA.xml',\n", + " 'HnRRyKktyV4.xml',\n", + " 'zYVGDtRBESo.xml',\n", + " 'w6dq9mfDhU4.xml',\n", + " '-l7k2T1nvow.xml',\n", + " 'fl2YDhkfimE.xml',\n", + " 'wOaw-H_T-is.xml',\n", + " 'E-AQ3ywnY-0.xml',\n", + " 'v9PHWBLQFRE.xml',\n", + " 'e3qez9__yKU.xml',\n", + " 'Gg68tDYDBqA.xml',\n", + " 'jBcgQN5UZfI.xml',\n", + " 'XKY_Sgv9ej8.xml',\n", + " 'vG1nwjwUlqc.xml',\n", + " 'Kvs-FcaRFuU.xml',\n", + " 'p7tJ4JGYUrU.xml',\n", + " 'edUSPvUuwps.xml',\n", + " 'MDbu_WgEqQs.xml',\n", + " 'FUXdFH78IZk.xml',\n", + " 'iQ6jj705whA.xml',\n", + " 'sY1F7X3s3-c.xml']" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "transcripts.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "transcripts_pd = pd.DataFrame()\n", + "for transcript in sorted(transcripts)[:2]: #limit the list for convience/testing\n", + " df2=pd.DataFrame(transcripts[transcript], columns = ['sTimestamp','eTimestamp','words'])\n", + " #words dont always seemm to line up, consider rounding? \n", + " df2['sTime'] = pd.to_datetime(df2['sTimestamp']).dt.round('s').dt.strftime(\"%Hh%Mm%Ss\")\n", + " df2['videoId'] = transcript\n", + " videoId_strip = transcript[:-4]\n", + " df2['share_url'] = \"https://youtu.be/\" + videoId_strip + \"?t=\" + df2['sTime']\n", + " transcripts_pd = transcripts_pd.append(df2)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + "
sTimestampeTimestampwordssTimevideoIdshare_url
000:00:00.00000:00:09.960I have a night class in graph theory00h00m00s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m00s
100:00:07.83000:00:12.000that I hate because it's a night class00h00m08s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m08s
200:00:09.96000:00:14.610and it's filled with algorithms that are00h00m10s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m10s
300:00:12.00000:00:17.460hard to pronounce but last week's class00h00m12s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m12s
400:00:14.61000:00:19.380was particularly weird after the lecture00h00m15s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m15s
500:00:17.46000:00:21.539the professor took questions from the00h00m17s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m17s
600:00:19.38000:00:23.100class that weren't so much questions as00h00m19s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m19s
700:00:21.53900:00:24.960they were long-winded commentary00h00m22s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m22s
800:00:23.10000:00:31.679punctuated by question marks because the00h00m23s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m23s
900:00:24.96000:00:33.390asker had an inflection but then the00h00m25s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m25s
1000:00:31.67900:00:37.050class changed when the professor ended00h00m32s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m32s
1100:00:33.39000:00:38.640his lecture and said and now it's time00h00m33s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m33s
1200:00:37.05000:00:41.040for the civic hacking portion of the00h00m37s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m37s
1300:00:38.64000:00:43.590evening all of a sudden the class00h00m39s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m39s
1400:00:41.04000:00:45.719exploded people were by white boards and00h00m41s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m41s
1500:00:43.59000:00:48.390desks and groups working on problems00h00m44s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m44s
1600:00:45.71900:00:50.430like making it more effective to spread00h00m46s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m46s
1700:00:48.39000:00:53.100resources and support to parts of the00h00m48s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m48s
1800:00:50.43000:00:54.809city and even designing more efficient00h00m50s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m50s
1900:00:53.10000:00:57.390transport so that citizens could have00h00m53s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m53s
2000:00:54.80900:00:59.579better access to jobs not only were we00h00m55s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m55s
2100:00:57.39000:01:02.309finally learning what Dijkstra's theorem00h00m57s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h00m57s
2200:00:59.57900:01:05.369was good for but we had choice over what00h01m00s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h01m00s
2300:01:02.30900:01:08.070we got to work on with a real impact and00h01m02s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h01m02s
2400:01:05.36900:01:10.470I hadn't noticed it but a few a few00h01m05s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h01m05s
2500:01:08.07000:01:12.180people who were psychology and policy00h01m08s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h01m08s
2600:01:10.47000:01:15.000majors had snuck in helping us build00h01m10s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h01m10s
2700:01:12.18000:01:17.280maps and CS students don't like to admit00h01m12s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h01m12s
2800:01:15.00000:01:18.659it but since they were there we felt a00h01m15s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h01m15s
2900:01:17.28000:01:22.250little more comfortable looking up from00h01m17s-Q9iAXpWxjA.xmlhttps://youtu.be/-Q9iAXpWxjA?t=00h01m17s
.....................
134200:56:57.21900:57:02.380on them and said no we're we're going to00h56m57s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h56m57s
134300:57:00.94000:57:04.180we're calling a bunch of other00h57m01s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m01s
134400:57:02.38000:57:07.029stakeholders we're talking to people at00h57m02s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m02s
134500:57:04.18000:57:09.039the federal government who frankly are00h57m04s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m04s
134600:57:07.02900:57:10.450paying for this project so you've got to00h57m07s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m07s
134700:57:09.03900:57:11.829understand anything that happens the00h57m09s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m09s
134800:57:10.45000:57:15.759state or county level the money is00h57m10s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m10s
134900:57:11.82900:57:17.859coming from the feds and if you can the00h57m12s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m12s
135000:57:15.75900:57:20.259feds happen to have just realized over00h57m16s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m16s
135100:57:17.85900:57:23.650the past year and a half two and a half00h57m18s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m18s
135200:57:20.25900:57:25.989years that waterfall method doesn't work00h57m20s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m20s
135300:57:23.65000:57:27.249in a very painful way so they have00h57m24s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m24s
135400:57:25.98900:57:29.259they're having to be a lot of people in00h57m26s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m26s
135500:57:27.24900:57:30.460DC who are willing to make a phone call00h57m27s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m27s
135600:57:29.25900:57:32.559to some of the state or county level00h57m29s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m29s
135700:57:30.46000:57:34.210saying actually that five hundred00h57m30s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m30s
135800:57:32.55900:57:37.960million dollars we just gave you we want00h57m33s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m33s
135900:57:34.21000:57:39.759you to use it on an agile project it's00h57m34s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m34s
136000:57:37.96000:57:41.769just not that simple it's about finding00h57m38s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m38s
136100:57:39.75900:57:43.180the right people bringing it to the00h57m40s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m40s
136200:57:41.76900:57:45.339people who are concerned about the00h57m42s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m42s
136300:57:43.18000:57:46.930change and have helping them understand00h57m43s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m43s
136400:57:45.33900:57:49.390that the risks are lower than they think00h57m45s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m45s
136500:57:46.93000:57:52.300in the new way and higher than they00h57m47s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m47s
136600:57:49.39000:57:54.550think in the old way that's what you00h57m49s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m49s
136700:57:52.30000:57:58.690so yes we do sometimes go knocking quite00h57m52s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m52s
136800:57:54.55000:58:01.570loudly especially when it has to do with00h57m55s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m55s
136900:57:58.69000:58:07.060something like to offer I think that's00h57m59s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h57m59s
137000:58:01.57000:58:10.200all the time think sorry Thank You Jan00h58m02s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h58m02s
137100:58:07.06000:58:10.200best questions ever00h58m07s-l7k2T1nvow.xmlhttps://youtu.be/-l7k2T1nvow?t=00h58m07s
\n", + "

1425 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " sTimestamp eTimestamp words \\\n", + "0 00:00:00.000 00:00:09.960 I have a night class in graph theory \n", + "1 00:00:07.830 00:00:12.000 that I hate because it's a night class \n", + "2 00:00:09.960 00:00:14.610 and it's filled with algorithms that are \n", + "3 00:00:12.000 00:00:17.460 hard to pronounce but last week's class \n", + "4 00:00:14.610 00:00:19.380 was particularly weird after the lecture \n", + "5 00:00:17.460 00:00:21.539 the professor took questions from the \n", + "6 00:00:19.380 00:00:23.100 class that weren't so much questions as \n", + "7 00:00:21.539 00:00:24.960 they were long-winded commentary \n", + "8 00:00:23.100 00:00:31.679 punctuated by question marks because the \n", + "9 00:00:24.960 00:00:33.390 asker had an inflection but then the \n", + "10 00:00:31.679 00:00:37.050 class changed when the professor ended \n", + "11 00:00:33.390 00:00:38.640 his lecture and said and now it's time \n", + "12 00:00:37.050 00:00:41.040 for the civic hacking portion of the \n", + "13 00:00:38.640 00:00:43.590 evening all of a sudden the class \n", + "14 00:00:41.040 00:00:45.719 exploded people were by white boards and \n", + "15 00:00:43.590 00:00:48.390 desks and groups working on problems \n", + "16 00:00:45.719 00:00:50.430 like making it more effective to spread \n", + "17 00:00:48.390 00:00:53.100 resources and support to parts of the \n", + "18 00:00:50.430 00:00:54.809 city and even designing more efficient \n", + "19 00:00:53.100 00:00:57.390 transport so that citizens could have \n", + "20 00:00:54.809 00:00:59.579 better access to jobs not only were we \n", + "21 00:00:57.390 00:01:02.309 finally learning what Dijkstra's theorem \n", + "22 00:00:59.579 00:01:05.369 was good for but we had choice over what \n", + "23 00:01:02.309 00:01:08.070 we got to work on with a real impact and \n", + "24 00:01:05.369 00:01:10.470 I hadn't noticed it but a few a few \n", + "25 00:01:08.070 00:01:12.180 people who were psychology and policy \n", + "26 00:01:10.470 00:01:15.000 majors had snuck in helping us build \n", + "27 00:01:12.180 00:01:17.280 maps and CS students don't like to admit \n", + "28 00:01:15.000 00:01:18.659 it but since they were there we felt a \n", + "29 00:01:17.280 00:01:22.250 little more comfortable looking up from \n", + "... ... ... ... \n", + "1342 00:56:57.219 00:57:02.380 on them and said no we're we're going to \n", + "1343 00:57:00.940 00:57:04.180 we're calling a bunch of other \n", + "1344 00:57:02.380 00:57:07.029 stakeholders we're talking to people at \n", + "1345 00:57:04.180 00:57:09.039 the federal government who frankly are \n", + "1346 00:57:07.029 00:57:10.450 paying for this project so you've got to \n", + "1347 00:57:09.039 00:57:11.829 understand anything that happens the \n", + "1348 00:57:10.450 00:57:15.759 state or county level the money is \n", + "1349 00:57:11.829 00:57:17.859 coming from the feds and if you can the \n", + "1350 00:57:15.759 00:57:20.259 feds happen to have just realized over \n", + "1351 00:57:17.859 00:57:23.650 the past year and a half two and a half \n", + "1352 00:57:20.259 00:57:25.989 years that waterfall method doesn't work \n", + "1353 00:57:23.650 00:57:27.249 in a very painful way so they have \n", + "1354 00:57:25.989 00:57:29.259 they're having to be a lot of people in \n", + "1355 00:57:27.249 00:57:30.460 DC who are willing to make a phone call \n", + "1356 00:57:29.259 00:57:32.559 to some of the state or county level \n", + "1357 00:57:30.460 00:57:34.210 saying actually that five hundred \n", + "1358 00:57:32.559 00:57:37.960 million dollars we just gave you we want \n", + "1359 00:57:34.210 00:57:39.759 you to use it on an agile project it's \n", + "1360 00:57:37.960 00:57:41.769 just not that simple it's about finding \n", + "1361 00:57:39.759 00:57:43.180 the right people bringing it to the \n", + "1362 00:57:41.769 00:57:45.339 people who are concerned about the \n", + "1363 00:57:43.180 00:57:46.930 change and have helping them understand \n", + "1364 00:57:45.339 00:57:49.390 that the risks are lower than they think \n", + "1365 00:57:46.930 00:57:52.300 in the new way and higher than they \n", + "1366 00:57:49.390 00:57:54.550 think in the old way that's what you \n", + "1367 00:57:52.300 00:57:58.690 so yes we do sometimes go knocking quite \n", + "1368 00:57:54.550 00:58:01.570 loudly especially when it has to do with \n", + "1369 00:57:58.690 00:58:07.060 something like to offer I think that's \n", + "1370 00:58:01.570 00:58:10.200 all the time think sorry Thank You Jan \n", + "1371 00:58:07.060 00:58:10.200 best questions ever \n", + "\n", + " sTime videoId share_url \n", + "0 00h00m00s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m00s \n", + "1 00h00m08s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m08s \n", + "2 00h00m10s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m10s \n", + "3 00h00m12s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m12s \n", + "4 00h00m15s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m15s \n", + "5 00h00m17s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m17s \n", + "6 00h00m19s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m19s \n", + "7 00h00m22s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m22s \n", + "8 00h00m23s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m23s \n", + "9 00h00m25s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m25s \n", + "10 00h00m32s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m32s \n", + "11 00h00m33s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m33s \n", + "12 00h00m37s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m37s \n", + "13 00h00m39s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m39s \n", + "14 00h00m41s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m41s \n", + "15 00h00m44s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m44s \n", + "16 00h00m46s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m46s \n", + "17 00h00m48s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m48s \n", + "18 00h00m50s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m50s \n", + "19 00h00m53s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m53s \n", + "20 00h00m55s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m55s \n", + "21 00h00m57s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h00m57s \n", + "22 00h01m00s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h01m00s \n", + "23 00h01m02s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h01m02s \n", + "24 00h01m05s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h01m05s \n", + "25 00h01m08s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h01m08s \n", + "26 00h01m10s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h01m10s \n", + "27 00h01m12s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h01m12s \n", + "28 00h01m15s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h01m15s \n", + "29 00h01m17s -Q9iAXpWxjA.xml https://youtu.be/-Q9iAXpWxjA?t=00h01m17s \n", + "... ... ... ... \n", + "1342 00h56m57s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h56m57s \n", + "1343 00h57m01s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m01s \n", + "1344 00h57m02s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m02s \n", + "1345 00h57m04s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m04s \n", + "1346 00h57m07s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m07s \n", + "1347 00h57m09s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m09s \n", + "1348 00h57m10s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m10s \n", + "1349 00h57m12s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m12s \n", + "1350 00h57m16s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m16s \n", + "1351 00h57m18s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m18s \n", + "1352 00h57m20s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m20s \n", + "1353 00h57m24s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m24s \n", + "1354 00h57m26s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m26s \n", + "1355 00h57m27s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m27s \n", + "1356 00h57m29s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m29s \n", + "1357 00h57m30s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m30s \n", + "1358 00h57m33s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m33s \n", + "1359 00h57m34s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m34s \n", + "1360 00h57m38s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m38s \n", + "1361 00h57m40s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m40s \n", + "1362 00h57m42s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m42s \n", + "1363 00h57m43s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m43s \n", + "1364 00h57m45s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m45s \n", + "1365 00h57m47s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m47s \n", + "1366 00h57m49s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m49s \n", + "1367 00h57m52s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m52s \n", + "1368 00h57m55s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m55s \n", + "1369 00h57m59s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h57m59s \n", + "1370 00h58m02s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h58m02s \n", + "1371 00h58m07s -l7k2T1nvow.xml https://youtu.be/-l7k2T1nvow?t=00h58m07s \n", + "\n", + "[1425 rows x 6 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "transcripts_pd" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "#text block\n", + "raw= ' '.join([x[2] for x in result])" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "ename": "LookupError", + "evalue": "\n**********************************************************************\n Resource u'tokenizers/punkt/english.pickle' not found. Please\n use the NLTK Downloader to obtain the resource: >>>\n nltk.download()\n Searched in:\n - 'C:\\\\Users\\\\erica/nltk_data'\n - 'C:\\\\nltk_data'\n - 'D:\\\\nltk_data'\n - 'E:\\\\nltk_data'\n - 'c:\\\\users\\\\erica\\\\miniconda3\\\\envs\\\\shareabouts\\\\nltk_data'\n - 'c:\\\\users\\\\erica\\\\miniconda3\\\\envs\\\\shareabouts\\\\lib\\\\nltk_data'\n - 'C:\\\\Users\\\\erica\\\\AppData\\\\Roaming\\\\nltk_data'\n - u''\n**********************************************************************", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mLookupError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;31m# http://www.nltk.org/book/ch05.html\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;31m# to understand the meaning of tags: nltk.help.upenn_tagset()\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[0mtext\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnltk\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mword_tokenize\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mraw\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 5\u001b[0m \u001b[0mpostags\u001b[0m\u001b[1;33m=\u001b[0m \u001b[0mnltk\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpos_tag\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtext\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\users\\erica\\miniconda3\\envs\\shareabouts\\lib\\site-packages\\nltk\\tokenize\\__init__.pyc\u001b[0m in \u001b[0;36mword_tokenize\u001b[1;34m(text, language, preserve_line)\u001b[0m\n\u001b[0;32m 128\u001b[0m \u001b[1;33m:\u001b[0m\u001b[0mtype\u001b[0m \u001b[0mpreserver_line\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mbool\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 129\u001b[0m \"\"\"\n\u001b[1;32m--> 130\u001b[1;33m \u001b[0msentences\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mtext\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mpreserve_line\u001b[0m \u001b[1;32melse\u001b[0m \u001b[0msent_tokenize\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtext\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlanguage\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 131\u001b[0m return [token for sent in sentences\n\u001b[0;32m 132\u001b[0m for token in _treebank_word_tokenizer.tokenize(sent)]\n", + "\u001b[1;32mc:\\users\\erica\\miniconda3\\envs\\shareabouts\\lib\\site-packages\\nltk\\tokenize\\__init__.pyc\u001b[0m in \u001b[0;36msent_tokenize\u001b[1;34m(text, language)\u001b[0m\n\u001b[0;32m 94\u001b[0m \u001b[1;33m:\u001b[0m\u001b[0mparam\u001b[0m \u001b[0mlanguage\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mmodel\u001b[0m \u001b[0mname\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mPunkt\u001b[0m \u001b[0mcorpus\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 95\u001b[0m \"\"\"\n\u001b[1;32m---> 96\u001b[1;33m \u001b[0mtokenizer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mload\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'tokenizers/punkt/{0}.pickle'\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlanguage\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 97\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mtokenizer\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtokenize\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtext\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 98\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\users\\erica\\miniconda3\\envs\\shareabouts\\lib\\site-packages\\nltk\\data.pyc\u001b[0m in \u001b[0;36mload\u001b[1;34m(resource_url, format, cache, verbose, logic_parser, fstruct_reader, encoding)\u001b[0m\n\u001b[0;32m 812\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 813\u001b[0m \u001b[1;31m# Load the resource.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 814\u001b[1;33m \u001b[0mopened_resource\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_open\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mresource_url\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 815\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 816\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mformat\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'raw'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\users\\erica\\miniconda3\\envs\\shareabouts\\lib\\site-packages\\nltk\\data.pyc\u001b[0m in \u001b[0;36m_open\u001b[1;34m(resource_url)\u001b[0m\n\u001b[0;32m 930\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 931\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mprotocol\u001b[0m \u001b[1;32mis\u001b[0m \u001b[0mNone\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mprotocol\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlower\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'nltk'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 932\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfind\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpath_\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpath\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m''\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 933\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mprotocol\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlower\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'file'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 934\u001b[0m \u001b[1;31m# urllib might not use mode='rb', so handle this one ourselves:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\users\\erica\\miniconda3\\envs\\shareabouts\\lib\\site-packages\\nltk\\data.pyc\u001b[0m in \u001b[0;36mfind\u001b[1;34m(resource_name, paths)\u001b[0m\n\u001b[0;32m 651\u001b[0m \u001b[0msep\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'*'\u001b[0m \u001b[1;33m*\u001b[0m \u001b[1;36m70\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 652\u001b[0m \u001b[0mresource_not_found\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'\\n%s\\n%s\\n%s'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0msep\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmsg\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msep\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 653\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mLookupError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mresource_not_found\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 654\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 655\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mLookupError\u001b[0m: \n**********************************************************************\n Resource u'tokenizers/punkt/english.pickle' not found. Please\n use the NLTK Downloader to obtain the resource: >>>\n nltk.download()\n Searched in:\n - 'C:\\\\Users\\\\erica/nltk_data'\n - 'C:\\\\nltk_data'\n - 'D:\\\\nltk_data'\n - 'E:\\\\nltk_data'\n - 'c:\\\\users\\\\erica\\\\miniconda3\\\\envs\\\\shareabouts\\\\nltk_data'\n - 'c:\\\\users\\\\erica\\\\miniconda3\\\\envs\\\\shareabouts\\\\lib\\\\nltk_data'\n - 'C:\\\\Users\\\\erica\\\\AppData\\\\Roaming\\\\nltk_data'\n - u''\n**********************************************************************" + ] + } + ], + "source": [ + "# tokenzie and position tagging using nltk library\n", + "# http://www.nltk.org/book/ch05.html\n", + "# to understand the meaning of tags: nltk.help.upenn_tagset()\n", + "text = nltk.word_tokenize(raw)\n", + "postags= nltk.pos_tag(text)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# turn the result into dataframe for the convenience of processing\n", + "df = pd.DataFrame(postags,columns =['word','type'])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "#filter words by type, only keeping nouns\n", + "typepattern_prefix=['NN']\n", + "mask = df.type.str.slice(0,2).isin(typepattern_prefix)\n", + "filtered=df[mask]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot word frequency\n", + "ax=filtered['word'].value_counts().sort_values(ascending=True).plot.barh(figsize=(5,10))\n", + "ax.set_ylabel('counts')\n", + "ax.set_title('Word frequency', fontsize=16)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Analysis of speech speed on the video timeline" + ] + }, + { + "cell_type": "code", + "execution_count": 182, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "df2=pd.DataFrame(result, columns = ['sTimestamp','eTimestamp','words'])\n", + "df2['sTimestamp']=pd.to_datetime(df2['sTimestamp'])\n", + "df2['eTimestamp']=pd.to_datetime(df2['eTimestamp'])" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from datetime import datetime, timedelta\n", + "transcripts_pd['durSeconds']= (transcripts_pd['eTimestamp']-transcripts_pd['sTimestamp'])/ timedelta(seconds=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "transcripts_pd['wordcounts']=transcripts_pd.apply(lambda row: len(row['words'].split(' ')),axis='columns')" + ] + }, + { + "cell_type": "code", + "execution_count": 183, + "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", + " \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", + " \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", + " \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", + " \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", + " \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", + "
sTimestampeTimestampwords
02017-08-28 00:00:05.0002017-08-28 00:00:09.269hi everyone I'm talking about a project
12017-08-28 00:00:07.3192017-08-28 00:00:11.580that I worked on called I have been
22017-08-28 00:00:09.2692017-08-28 00:00:13.049working on called gender Avenger that's
32017-08-28 00:00:11.5802017-08-28 00:00:15.809focused on measuring women's inclusion
42017-08-28 00:00:13.0492017-08-28 00:00:17.550in the public dialogue this is sort of
52017-08-28 00:00:15.8092017-08-28 00:00:19.050the information about gender Avenger the
62017-08-28 00:00:17.5502017-08-28 00:00:20.880mission is to build a community that
72017-08-28 00:00:19.0502017-08-28 00:00:23.220ensures women are represented in the
82017-08-28 00:00:20.8802017-08-28 00:00:25.769public dialogue it was started by
92017-08-28 00:00:23.2202017-08-28 00:00:27.900someone who friend of my Gina glance who
102017-08-28 00:00:25.7692017-08-28 00:00:29.099worked for a long time at seiu and
112017-08-28 00:00:27.9002017-08-28 00:00:33.120generally has been really involved in
122017-08-28 00:00:29.0992017-08-28 00:00:34.680politics one of the big things there are
132017-08-28 00:00:33.1202017-08-28 00:00:38.190two main things that gender Avenger does
142017-08-28 00:00:34.6802017-08-28 00:00:40.579one is we sort of highlight when women
152017-08-28 00:00:38.1902017-08-28 00:00:42.629are not sufficiently included in
162017-08-28 00:00:40.5792017-08-28 00:00:46.739different sorts of things so here's an
172017-08-28 00:00:42.6292017-08-28 00:00:48.930example where Esquire did a list of 80
182017-08-28 00:00:46.7392017-08-28 00:00:53.489Beck's books every man should read and
192017-08-28 00:00:48.9302017-08-28 00:00:55.80079 of them were written by men and so
202017-08-28 00:00:53.4892017-08-28 00:00:58.980gender Avenger put together this chart
212017-08-28 00:00:55.8002017-08-28 00:01:02.699using the g8 ally app this is sort of my
222017-08-28 00:00:58.9802017-08-28 00:01:04.470contribution and tweeted it at s square
232017-08-28 00:01:02.6992017-08-28 00:01:05.970a lot and encourage their supporters to
242017-08-28 00:01:04.4702017-08-28 00:01:08.010comment on the article saying and
252017-08-28 00:01:05.9702017-08-28 00:01:10.200suggest like female authors that should
262017-08-28 00:01:08.0102017-08-28 00:01:14.040have been included and it actually
272017-08-28 00:01:10.2002017-08-28 00:01:16.710worked asghar apologized and then as it
282017-08-28 00:01:14.0402017-08-28 00:01:19.560says here worked with eight female
292017-08-28 00:01:16.7102017-08-28 00:01:23.939literacy powerhouses to come up with a
............
312017-08-28 00:01:23.9392017-08-28 00:01:28.470is sort of a general thing the g8 ally
322017-08-28 00:01:25.5302017-08-28 00:01:29.820app is available to everyone and there's
332017-08-28 00:01:28.4702017-08-28 00:01:31.680an app you can download or it works
342017-08-28 00:01:29.8202017-08-28 00:01:33.329online and you can share it on Facebook
352017-08-28 00:01:31.6802017-08-28 00:01:35.159or Twitter or if you're worried that
362017-08-28 00:01:33.3292017-08-28 00:01:37.560you'll get in trouble for with work
372017-08-28 00:01:35.1592017-08-28 00:01:38.939because it's sort of a sensitive place
382017-08-28 00:01:37.5602017-08-28 00:01:41.520where you shouldn't be calling people
392017-08-28 00:01:38.9392017-08-28 00:01:44.640out there's also an option to have us
402017-08-28 00:01:41.5202017-08-28 00:01:47.430tweet it for you so that you don't have
412017-08-28 00:01:44.6402017-08-28 00:01:48.960to get in trouble the other thing that
422017-08-28 00:01:47.4302017-08-28 00:01:51.689gender Avenger does is to ask people to
432017-08-28 00:01:48.9602017-08-28 00:01:53.549take the gender Avenger pledge basically
442017-08-28 00:01:51.6892017-08-28 00:01:56.729promising not to be on panels that have
452017-08-28 00:01:53.5492017-08-28 00:01:57.930no women on them and there's a big long
462017-08-28 00:01:56.7292017-08-28 00:02:00.210list of people and you should totally
472017-08-28 00:01:57.9302017-08-28 00:02:02.790pick take the pledge and there's some
482017-08-28 00:02:00.2102017-08-28 00:02:07.020ongoing stuff they're ramping up now to
492017-08-28 00:02:02.7902017-08-28 00:02:09.420adopt the g8 Ally for use by groups that
502017-08-28 00:02:07.0202017-08-28 00:02:10.709focus on racial equality and also I
512017-08-28 00:02:09.4202017-08-28 00:02:12.030think it would be really cool to combine
522017-08-28 00:02:10.7092017-08-28 00:02:14.260this with our men talking too much
532017-08-28 00:02:12.0302017-08-28 00:02:16.400because this was largely around
542017-08-28 00:02:14.2602017-08-28 00:02:18.260conferences and it would be really cool
552017-08-28 00:02:16.4002017-08-28 00:02:20.030like measure how many men women are on a
562017-08-28 00:02:18.2602017-08-28 00:02:22.030given panel and then also measure how
572017-08-28 00:02:20.0302017-08-28 00:02:24.590much people are talking on those panels
582017-08-28 00:02:22.0302017-08-28 00:02:27.540so or at least like feature it on our
592017-08-28 00:02:24.5902017-08-28 00:02:35.919website so yeah that's it thanks
602017-08-28 00:02:27.5402017-08-28 00:02:35.919[Applause]
\n", + "

61 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " sTimestamp eTimestamp \\\n", + "0 2017-08-28 00:00:05.000 2017-08-28 00:00:09.269 \n", + "1 2017-08-28 00:00:07.319 2017-08-28 00:00:11.580 \n", + "2 2017-08-28 00:00:09.269 2017-08-28 00:00:13.049 \n", + "3 2017-08-28 00:00:11.580 2017-08-28 00:00:15.809 \n", + "4 2017-08-28 00:00:13.049 2017-08-28 00:00:17.550 \n", + "5 2017-08-28 00:00:15.809 2017-08-28 00:00:19.050 \n", + "6 2017-08-28 00:00:17.550 2017-08-28 00:00:20.880 \n", + "7 2017-08-28 00:00:19.050 2017-08-28 00:00:23.220 \n", + "8 2017-08-28 00:00:20.880 2017-08-28 00:00:25.769 \n", + "9 2017-08-28 00:00:23.220 2017-08-28 00:00:27.900 \n", + "10 2017-08-28 00:00:25.769 2017-08-28 00:00:29.099 \n", + "11 2017-08-28 00:00:27.900 2017-08-28 00:00:33.120 \n", + "12 2017-08-28 00:00:29.099 2017-08-28 00:00:34.680 \n", + "13 2017-08-28 00:00:33.120 2017-08-28 00:00:38.190 \n", + "14 2017-08-28 00:00:34.680 2017-08-28 00:00:40.579 \n", + "15 2017-08-28 00:00:38.190 2017-08-28 00:00:42.629 \n", + "16 2017-08-28 00:00:40.579 2017-08-28 00:00:46.739 \n", + "17 2017-08-28 00:00:42.629 2017-08-28 00:00:48.930 \n", + "18 2017-08-28 00:00:46.739 2017-08-28 00:00:53.489 \n", + "19 2017-08-28 00:00:48.930 2017-08-28 00:00:55.800 \n", + "20 2017-08-28 00:00:53.489 2017-08-28 00:00:58.980 \n", + "21 2017-08-28 00:00:55.800 2017-08-28 00:01:02.699 \n", + "22 2017-08-28 00:00:58.980 2017-08-28 00:01:04.470 \n", + "23 2017-08-28 00:01:02.699 2017-08-28 00:01:05.970 \n", + "24 2017-08-28 00:01:04.470 2017-08-28 00:01:08.010 \n", + "25 2017-08-28 00:01:05.970 2017-08-28 00:01:10.200 \n", + "26 2017-08-28 00:01:08.010 2017-08-28 00:01:14.040 \n", + "27 2017-08-28 00:01:10.200 2017-08-28 00:01:16.710 \n", + "28 2017-08-28 00:01:14.040 2017-08-28 00:01:19.560 \n", + "29 2017-08-28 00:01:16.710 2017-08-28 00:01:23.939 \n", + ".. ... ... \n", + "31 2017-08-28 00:01:23.939 2017-08-28 00:01:28.470 \n", + "32 2017-08-28 00:01:25.530 2017-08-28 00:01:29.820 \n", + "33 2017-08-28 00:01:28.470 2017-08-28 00:01:31.680 \n", + "34 2017-08-28 00:01:29.820 2017-08-28 00:01:33.329 \n", + "35 2017-08-28 00:01:31.680 2017-08-28 00:01:35.159 \n", + "36 2017-08-28 00:01:33.329 2017-08-28 00:01:37.560 \n", + "37 2017-08-28 00:01:35.159 2017-08-28 00:01:38.939 \n", + "38 2017-08-28 00:01:37.560 2017-08-28 00:01:41.520 \n", + "39 2017-08-28 00:01:38.939 2017-08-28 00:01:44.640 \n", + "40 2017-08-28 00:01:41.520 2017-08-28 00:01:47.430 \n", + "41 2017-08-28 00:01:44.640 2017-08-28 00:01:48.960 \n", + "42 2017-08-28 00:01:47.430 2017-08-28 00:01:51.689 \n", + "43 2017-08-28 00:01:48.960 2017-08-28 00:01:53.549 \n", + "44 2017-08-28 00:01:51.689 2017-08-28 00:01:56.729 \n", + "45 2017-08-28 00:01:53.549 2017-08-28 00:01:57.930 \n", + "46 2017-08-28 00:01:56.729 2017-08-28 00:02:00.210 \n", + "47 2017-08-28 00:01:57.930 2017-08-28 00:02:02.790 \n", + "48 2017-08-28 00:02:00.210 2017-08-28 00:02:07.020 \n", + "49 2017-08-28 00:02:02.790 2017-08-28 00:02:09.420 \n", + "50 2017-08-28 00:02:07.020 2017-08-28 00:02:10.709 \n", + "51 2017-08-28 00:02:09.420 2017-08-28 00:02:12.030 \n", + "52 2017-08-28 00:02:10.709 2017-08-28 00:02:14.260 \n", + "53 2017-08-28 00:02:12.030 2017-08-28 00:02:16.400 \n", + "54 2017-08-28 00:02:14.260 2017-08-28 00:02:18.260 \n", + "55 2017-08-28 00:02:16.400 2017-08-28 00:02:20.030 \n", + "56 2017-08-28 00:02:18.260 2017-08-28 00:02:22.030 \n", + "57 2017-08-28 00:02:20.030 2017-08-28 00:02:24.590 \n", + "58 2017-08-28 00:02:22.030 2017-08-28 00:02:27.540 \n", + "59 2017-08-28 00:02:24.590 2017-08-28 00:02:35.919 \n", + "60 2017-08-28 00:02:27.540 2017-08-28 00:02:35.919 \n", + "\n", + " words \n", + "0 hi everyone I'm talking about a project \n", + "1 that I worked on called I have been \n", + "2 working on called gender Avenger that's \n", + "3 focused on measuring women's inclusion \n", + "4 in the public dialogue this is sort of \n", + "5 the information about gender Avenger the \n", + "6 mission is to build a community that \n", + "7 ensures women are represented in the \n", + "8 public dialogue it was started by \n", + "9 someone who friend of my Gina glance who \n", + "10 worked for a long time at seiu and \n", + "11 generally has been really involved in \n", + "12 politics one of the big things there are \n", + "13 two main things that gender Avenger does \n", + "14 one is we sort of highlight when women \n", + "15 are not sufficiently included in \n", + "16 different sorts of things so here's an \n", + "17 example where Esquire did a list of 80 \n", + "18 Beck's books every man should read and \n", + "19 79 of them were written by men and so \n", + "20 gender Avenger put together this chart \n", + "21 using the g8 ally app this is sort of my \n", + "22 contribution and tweeted it at s square \n", + "23 a lot and encourage their supporters to \n", + "24 comment on the article saying and \n", + "25 suggest like female authors that should \n", + "26 have been included and it actually \n", + "27 worked asghar apologized and then as it \n", + "28 says here worked with eight female \n", + "29 literacy powerhouses to come up with a \n", + ".. ... \n", + "31 is sort of a general thing the g8 ally \n", + "32 app is available to everyone and there's \n", + "33 an app you can download or it works \n", + "34 online and you can share it on Facebook \n", + "35 or Twitter or if you're worried that \n", + "36 you'll get in trouble for with work \n", + "37 because it's sort of a sensitive place \n", + "38 where you shouldn't be calling people \n", + "39 out there's also an option to have us \n", + "40 tweet it for you so that you don't have \n", + "41 to get in trouble the other thing that \n", + "42 gender Avenger does is to ask people to \n", + "43 take the gender Avenger pledge basically \n", + "44 promising not to be on panels that have \n", + "45 no women on them and there's a big long \n", + "46 list of people and you should totally \n", + "47 pick take the pledge and there's some \n", + "48 ongoing stuff they're ramping up now to \n", + "49 adopt the g8 Ally for use by groups that \n", + "50 focus on racial equality and also I \n", + "51 think it would be really cool to combine \n", + "52 this with our men talking too much \n", + "53 because this was largely around \n", + "54 conferences and it would be really cool \n", + "55 like measure how many men women are on a \n", + "56 given panel and then also measure how \n", + "57 much people are talking on those panels \n", + "58 so or at least like feature it on our \n", + "59 website so yeah that's it thanks \n", + "60 [Applause] \n", + "\n", + "[61 rows x 3 columns]" + ] + }, + "execution_count": 183, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--------slowest spoken line:----------------\n", + "sTimestamp 2017-08-28 00:16:02.400000\n", + "eTimestamp 2017-08-28 00:16:09.709000\n", + "words finally done\n", + "captionId -l7k2T1nvow.xml\n", + "durSeconds 7.309\n", + "wordcounts 2\n", + "speechSpeed 0.273635\n", + "offsetVideoStart 962.4\n", + "Name: 437, dtype: object\n", + "--------fastest spoken line:----------------\n", + "sTimestamp 2017-08-28 00:10:27.350000\n", + "eTimestamp 2017-08-28 00:10:29.750000\n", + "words might be fine for us to be given a pass\n", + "captionId -l7k2T1nvow.xml\n", + "durSeconds 2.4\n", + "wordcounts 10\n", + "speechSpeed 4.16667\n", + "offsetVideoStart 627.35\n", + "Name: 286, dtype: object\n" + ] + } + ], + "source": [ + "#fastest and slowest line by speech speed\n", + "transcripts_pd['speechSpeed']=transcripts_pd['wordcounts']/transcripts_pd['durSeconds']\n", + "\n", + "vStart=min(df2['sTimestamp'])\n", + "transcripts_pd['offsetVideoStart'] = (transcripts_pd['sTimestamp']-vStart)/timedelta(seconds=1)\n", + "\n", + "print('--------slowest spoken line:----------------')\n", + "print(transcripts_pd.sort_values(by=['speechSpeed']).iloc[0])\n", + "print('--------fastest spoken line:----------------')\n", + "print(transcripts_pd.sort_values(by=['speechSpeed']).iloc[-1])" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "ename": "KeyError", + "evalue": "'durSeconds'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0mfig\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m12\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m5\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0max\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mfig\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madd_subplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m111\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[0mdf2\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'speechSpeed'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdf2\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'wordcounts'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m/\u001b[0m\u001b[0mdf2\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'durSeconds'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[0max\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf2\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'offsetVideoStart'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mdf2\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'speechSpeed'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'--'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\users\\erica\\miniconda3\\envs\\shareabouts\\lib\\site-packages\\pandas\\core\\frame.pyc\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m 1962\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1963\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1964\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_getitem_column\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1965\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1966\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_getitem_column\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\users\\erica\\miniconda3\\envs\\shareabouts\\lib\\site-packages\\pandas\\core\\frame.pyc\u001b[0m in \u001b[0;36m_getitem_column\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m 1969\u001b[0m \u001b[1;31m# get column\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1970\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1971\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_item_cache\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1972\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1973\u001b[0m \u001b[1;31m# duplicate columns & possible reduce dimensionality\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\users\\erica\\miniconda3\\envs\\shareabouts\\lib\\site-packages\\pandas\\core\\generic.pyc\u001b[0m in \u001b[0;36m_get_item_cache\u001b[1;34m(self, item)\u001b[0m\n\u001b[0;32m 1643\u001b[0m \u001b[0mres\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcache\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1644\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[1;32mis\u001b[0m \u001b[0mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1645\u001b[1;33m \u001b[0mvalues\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1646\u001b[0m \u001b[0mres\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_box_item_values\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1647\u001b[0m \u001b[0mcache\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mres\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\users\\erica\\miniconda3\\envs\\shareabouts\\lib\\site-packages\\pandas\\core\\internals.pyc\u001b[0m in \u001b[0;36mget\u001b[1;34m(self, item, fastpath)\u001b[0m\n\u001b[0;32m 3588\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3589\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0misnull\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 3590\u001b[1;33m \u001b[0mloc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 3591\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3592\u001b[0m \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0misnull\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\users\\erica\\miniconda3\\envs\\shareabouts\\lib\\site-packages\\pandas\\core\\indexes\\base.pyc\u001b[0m in \u001b[0;36mget_loc\u001b[1;34m(self, key, method, tolerance)\u001b[0m\n\u001b[0;32m 2442\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2443\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2444\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2445\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2446\u001b[0m \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc (pandas\\_libs\\index.c:5280)\u001b[1;34m()\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc (pandas\\_libs\\index.c:5126)\u001b[1;34m()\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item (pandas\\_libs\\hashtable.c:20523)\u001b[1;34m()\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item (pandas\\_libs\\hashtable.c:20477)\u001b[1;34m()\u001b[0m\n", + "\u001b[1;31mKeyError\u001b[0m: 'durSeconds'" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAEzCAYAAAAo4yUMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAD81JREFUeJzt3V+o5Hd5x/HPY9JUUGuhuwXJJk2gm2qqQuwhpHhhQFuS\nXGwubCWBYJXg3jRiqwgpSpT0qpVaENI/Wyq2hZqmvZAFV3JhUwJiJEdsg4lElmjNRiHrn+ZGNKZ9\nenGm5bg+2TPZzJnZJK8XLJz5zffMPBdfzr73t785v+ruAAAAP+1lmx4AAADOR0IZAAAGQhkAAAZC\nGQAABkIZAAAGQhkAAAZ7hnJVfbKqnqyqrz7L81VVn6iqk1X1UFW9afVjAgDAei1zRvlTSa47y/PX\nJzm8+HM0yV8+/7EAAGCz9gzl7r4/yffPsuTGJH/fOx5I8otV9ZpVDQgAAJuwimuUL07y+K7HpxbH\nAADgBevCdb5ZVR3NzuUZecUrXvEbr33ta9f59gAAvAR9+ctf/m53H3yu37eKUH4iySW7Hh9aHPsZ\n3X0sybEk2dra6u3t7RW8PQAAPLuq+s9z+b5VXHpxPMk7F7/94pokT3X3d1bwugAAsDF7nlGuqk8n\nuTbJgao6leQjSX4uSbr7r5KcSHJDkpNJfpjk3fs1LAAArMueodzdN+/xfCf5/ZVNBAAA5wF35gMA\ngIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICB\nUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAG\nAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCA\ngVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgMFS\noVxV11XVo1V1sqpuH56/tKruq6qvVNVDVXXD6kcFAID12TOUq+qCJHcluT7JlUlurqorz1j24ST3\ndPdVSW5K8herHhQAANZpmTPKVyc52d2PdffTSe5OcuMZazrJLyy+fnWSb69uRAAAWL9lQvniJI/v\nenxqcWy3jya5papOJTmR5L3TC1XV0ararqrt06dPn8O4AACwHqv6MN/NST7V3YeS3JDkH6rqZ167\nu49191Z3bx08eHBFbw0AAKu3TCg/keSSXY8PLY7tdmuSe5Kku7+Y5OVJDqxiQAAA2IRlQvnBJIer\n6vKquig7H9Y7fsaabyV5a5JU1euyE8qurQAA4AVrz1Du7meS3Jbk3iRfy85vt3i4qu6sqiOLZR9I\n8p6q+o8kn07yru7u/RoaAAD224XLLOruE9n5kN7uY3fs+vqRJG9e7WgAALA57swHAAADoQwAAAOh\nDAAAA6EMAAADoQwAAAOhDAAAA6EMAAADoQwAAAOhDAAAA6EMAAADoQwAAAOhDAAAA6EMAAADoQwA\nAAOhDAAAA6EMAAADoQwAAAOhDAAAA6EMAAADoQwAAAOhDAAAA6EMAAADoQwAAAOhDAAAA6EMAAAD\noQwAAAOhDAAAA6EMAAADoQwAAAOhDAAAA6EMAAADoQwAAAOhDAAAA6EMAAADoQwAAAOhDAAAA6EM\nAAADoQwAAAOhDAAAA6EMAAADoQwAAAOhDAAAA6EMAAADoQwAAAOhDAAAg6VCuaquq6pHq+pkVd3+\nLGveUVWPVNXDVfWPqx0TAADW68K9FlTVBUnuSvJbSU4lebCqjnf3I7vWHE7yR0ne3N0/qKpf3q+B\nAQBgHZY5o3x1kpPd/Vh3P53k7iQ3nrHmPUnu6u4fJEl3P7naMQEAYL2WCeWLkzy+6/GpxbHdrkhy\nRVV9oaoeqKrrVjUgAABswp6XXjyH1zmc5Nokh5LcX1Vv6O7/2r2oqo4mOZokl1566YreGgAAVm+Z\nM8pPJLlk1+NDi2O7nUpyvLt/0t3fSPL17ITzT+nuY9291d1bBw8ePNeZAQBg3y0Tyg8mOVxVl1fV\nRUluSnL8jDWfyc7Z5FTVgexcivHYCucEAIC12jOUu/uZJLcluTfJ15Lc090PV9WdVXVksezeJN+r\nqkeS3Jfkg939vf0aGgAA9lt190beeGtrq7e3tzfy3gAAvHRU1Ze7e+u5fp878wEAwEAoAwDAQCgD\nAMBAKAMAwEAoAwDAQCgDAMBAKAMAwEAoAwDAQCgDAMBAKAMAwEAoAwDAQCgDAMBAKAMAwEAoAwDA\nQCgDAMBAKAMAwEAoAwDAQCgDAMBAKAMAwEAoAwDAQCgDAMBAKAMAwEAoAwDAQCgDAMBAKAMAwEAo\nAwDAQCgDAMBAKAMAwEAoAwDAQCgDAMBAKAMAwEAoAwDAQCgDAMBAKAMAwEAoAwDAQCgDAMBAKAMA\nwEAoAwDAQCgDAMBAKAMAwEAoAwDAQCgDAMBAKAMAwEAoAwDAQCgDAMBgqVCuquuq6tGqOllVt59l\n3durqqtqa3UjAgDA+u0ZylV1QZK7klyf5MokN1fVlcO6VyV5X5IvrXpIAABYt2XOKF+d5GR3P9bd\nTye5O8mNw7o/TvInSX60wvkAAGAjlgnli5M8vuvxqcWx/1dVb0pySXd/doWzAQDAxjzvD/NV1cuS\nfDzJB5ZYe7Sqtqtq+/Tp08/3rQEAYN8sE8pPJLlk1+NDi2P/51VJXp/k36rqm0muSXJ8+kBfdx/r\n7q3u3jp48OC5Tw0AAPtsmVB+MMnhqrq8qi5KclOS4//3ZHc/1d0Huvuy7r4syQNJjnT39r5MDAAA\na7BnKHf3M0luS3Jvkq8luae7H66qO6vqyH4PCAAAm3DhMou6+0SSE2ccu+NZ1l77/McCAIDNcmc+\nAAAYCGUAABgIZQAAGAhlAAAYCGUAABgIZQAAGAhlAAAYCGUAABgIZQAAGAhlAAAYCGUAABgIZQAA\nGAhlAAAYCGUAABgIZQAAGAhlAAAYCGUAABgIZQAAGAhlAAAYCGUAABgIZQAAGAhlAAAYCGUAABgI\nZQAAGAhlAAAYCGUAABgIZQAAGAhlAAAYCGUAABgIZQAAGAhlAAAYCGUAABgIZQAAGAhlAAAYCGUA\nABgIZQAAGAhlAAAYCGUAABgIZQAAGAhlAAAYCGUAABgIZQAAGAhlAAAYCGUAABgIZQAAGAhlAAAY\nLBXKVXVdVT1aVSer6vbh+fdX1SNV9VBVfb6qfmX1owIAwPrsGcpVdUGSu5Jcn+TKJDdX1ZVnLPtK\nkq3ufmOSf0nyp6seFAAA1mmZM8pXJznZ3Y9199NJ7k5y4+4F3X1fd/9w8fCBJIdWOyYAAKzXMqF8\ncZLHdz0+tTj2bG5N8rnpiao6WlXbVbV9+vTp5acEAIA1W+mH+arqliRbST42Pd/dx7p7q7u3Dh48\nuMq3BgCAlbpwiTVPJLlk1+NDi2M/pareluRDSd7S3T9ezXgAALAZy5xRfjDJ4aq6vKouSnJTkuO7\nF1TVVUn+OsmR7n5y9WMCAMB67RnK3f1MktuS3Jvka0nu6e6Hq+rOqjqyWPaxJK9M8s9V9e9VdfxZ\nXg4AAF4Qlrn0It19IsmJM47dsevrt614LgAA2Ch35gMAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAG\nAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCA\ngVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQ\nBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAICBUAYA\ngIFQBgCAgVAGAICBUAYAgIFQBgCAgVAGAIDBUqFcVddV1aNVdbKqbh+e//mq+qfF81+qqstWPSgA\nAKzTnqFcVRckuSvJ9UmuTHJzVV15xrJbk/ygu381yZ8n+ZNVDwoAAOu0zBnlq5Oc7O7HuvvpJHcn\nufGMNTcm+bvF1/+S5K1VVasbEwAA1muZUL44yeO7Hp9aHBvXdPczSZ5K8kurGBAAADbhwnW+WVUd\nTXJ08fDHVfXVdb4/LwgHknx300Nw3rEvmNgXTOwLJr92Lt+0TCg/keSSXY8PLY5Na05V1YVJXp3k\ne2e+UHcfS3IsSapqu7u3zmVoXrzsCyb2BRP7gol9waSqts/l+5a59OLBJIer6vKquijJTUmOn7Hm\neJLfW3z9O0n+tbv7XAYCAIDzwZ5nlLv7maq6Lcm9SS5I8snufriq7kyy3d3Hk/xtkn+oqpNJvp+d\nmAYAgBespa5R7u4TSU6cceyOXV//KMnvPsf3PvYc1/PSYF8wsS+Y2BdM7Asm57QvyhUSAADws9zC\nGgAABvseym5/zWSJffH+qnqkqh6qqs9X1a9sYk7Wa699sWvd26uqq8on218CltkXVfWOxc+Mh6vq\nH9c9I+u3xN8jl1bVfVX1lcXfJTdsYk7Wp6o+WVVPPtuvH64dn1jsmYeq6k17vea+hrLbXzNZcl98\nJclWd78xO3d7/NP1Tsm6LbkvUlWvSvK+JF9a74RswjL7oqoOJ/mjJG/u7l9P8gdrH5S1WvLnxYeT\n3NPdV2Xnlwz8xXqnZAM+leS6szx/fZLDiz9Hk/zlXi+432eU3f6ayZ77orvv6+4fLh4+kJ3f382L\n2zI/L5Lkj7PzD+ofrXM4NmaZffGeJHd19w+SpLufXPOMrN8y+6KT/MLi61cn+fYa52MDuvv+7Pz2\ntWdzY5K/7x0PJPnFqnrN2V5zv0PZ7a+ZLLMvdrs1yef2dSLOB3vui8V/k13S3Z9d52Bs1DI/L65I\nckVVfaGqHqiqs51R4sVhmX3x0SS3VNWp7PzmrveuZzTOY8+1P9Z7C2t4rqrqliRbSd6y6VnYrKp6\nWZKPJ3nXhkfh/HNhdv4r9drs/O/T/VX1hu7+r41OxabdnORT3f1nVfWb2bnfw+u7+382PRgvHPt9\nRvm53P46Z7v9NS8qy+yLVNXbknwoyZHu/vGaZmNz9toXr0ry+iT/VlXfTHJNkuM+0Peit8zPi1NJ\njnf3T7r7G0m+np1w5sVrmX1xa5J7kqS7v5jk5UkOrGU6zldL9cdu+x3Kbn/NZM99UVVXJfnr7ESy\n6w1fGs66L7r7qe4+0N2Xdfdl2bl2/Uh3b29mXNZkmb9HPpOds8mpqgPZuRTjsXUOydotsy++leSt\nSVJVr8tOKJ9e65Scb44neefit19ck+Sp7v7O2b5hXy+9cPtrJkvui48leWWSf158tvNb3X1kY0Oz\n75bcF7zELLkv7k3y21X1SJL/TvLB7vY/ky9iS+6LDyT5m6r6w+x8sO9dTsS9uFXVp7Pzj+YDi2vT\nP5Lk55Kku/8qO9eq35DkZJIfJnn3nq9pzwAAwM9yZz4AABgIZQAAGAhlAAAYCGUAABgIZQAAGAhl\nAAAYCGUAABgIZQAAGPwvzhqwzRZdWiAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#fastest and slowest line by speech speed\n", + "fig=plt.figure(figsize=(12,5))\n", + "ax=fig.add_subplot(111)\n", + "df2['speechSpeed']=df2['wordcounts']/df2['durSeconds']\n", + "\n", + "ax.plot(df2['offsetVideoStart'],df2['speechSpeed'],'--')\n", + "ax.set_ylabel('words / second')\n", + "ax.set_xlabel('time from the start of the video (seconds)')\n", + "\n", + "ax.annotate('\\\"and I think that I could bring us a stem\\\"',\n", + " xy=(43.45, 3.14465), xycoords='data',\n", + " xytext=(-30, -20), textcoords='offset points',\n", + " arrowprops=dict(facecolor='black', shrink=0.05),\n", + " horizontalalignment='right', verticalalignment='top', size=14)\n", + "\n", + "ax.annotate('\\\"information management\\\"',\n", + " xy=(41.74, 0.551116), xycoords='data',\n", + " xytext=(-30, 20), textcoords='offset points',\n", + " arrowprops=dict(facecolor='black', shrink=0.05),\n", + " horizontalalignment='right', verticalalignment='bottom', size=14)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}