diff --git a/lab-functional-programming/your-code/.ipynb_checkpoints/Learning-checkpoint.ipynb b/lab-functional-programming/your-code/.ipynb_checkpoints/Learning-checkpoint.ipynb new file mode 100644 index 0000000..d5840ac --- /dev/null +++ b/lab-functional-programming/your-code/.ipynb_checkpoints/Learning-checkpoint.ipynb @@ -0,0 +1,310 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Functional Programming\n", + "\n", + "\n", + "Lesson Goals\n", + "\n", + " Learn the difference between procedural and functional programming style.\n", + " Learn about the components of functions and how to write them in Python.\n", + " Learn the difference between global and local variables and how they apply to functions.\n", + " Learn how to apply functions to Pandas data frames.\n", + "\n", + "\n", + "Introduction\n", + "\n", + "Up until this point, we have been writing Python code in a procedural manner and using functions and methods that are either in Python's standard library or part of some other library such as Numpy or Pandas. This has worked fine for us thus far, but in order to truly graduate from beginner to intermediate Python programmer, you must have a basic understanding of functional programming and be able to write your own functions.\n", + "\n", + "In this lesson, we will cover how to write Python code in a functional style and how to construct and call user-defined functions.\n", + "Procedural vs. Functional Programming\n", + "\n", + "Procedural code is code that is written line by line and executed in the order it is written. It is the style in which most people learn to program due to its straightforward sequence of actions to solve a problem - do this, then do this, then do this.\n", + "\n", + "More mature programmers frame problems a little differently. They take more of a functional approach to problem solving, where they create functions consisting of multiple lines of code that accomplish some task and often return a result that can be used by another function.\n", + "\n", + "You can think of a function as a tool - something that helps you perform a job. In a sense, functional programming allows you to create your own tools. Some of these tools will be designed specifically for the current set of tasks you need to perform while other functions you write will be more general and able to be used for other projects. Imagine if a chef were able to construct their own set of knives or a carpenter were able to construct their own set of saws that were perfect for the jobs they needed to perform. That is the power that functional programming gives you as a programmer. Over time, you will develop a personal library of functions that allow you to get your work done more efficiently.\n", + "\n", + "\n", + "Writing Functions in Python\n", + "\n", + "Functions in Python are defined by the def keyword followed by the function name and one or more inputs the function will need enclosed in parentheses. Within the function, you write code that performs the task you want the function to execute followed by a return statement if there is anything you would like the function to return. Below is an example of a list2string function that converts lists to strings. " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'John was a man of many talents'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def list2string(lst):\n", + " string = ' '.join(lst)\n", + " return string\n", + "\n", + "to_string = ['John', 'was', 'a', 'man', 'of', 'many', 'talents']\n", + "list2string(to_string)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example, we defined our list2string function and told it to expect one input. Within the function, we used the join method to convert the list to a string consisting of the list elements joined together by spaces. We then had the function return the string of space-separated elements.\n", + "\n", + "You can include all the concepts we have covered in past lessons (loops, conditional logic, list comprehensions, etc.) inside a function.\n", + "\n", + "\n", + "\n", + "\n", + "Global vs. Local Variables\n", + "\n", + "When writing functional code, it is important to keep track of which variables are global and which variables are local. Global variables are variables that maintain their value outside of functions. Local variables maintain their value within the function where they are defined and then cease to exist after we exit that function. In the example below, the variables a and c are global variables and variable b is a local variable that does not exist outside of the multiply function. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "9 18\n" + ] + } + ], + "source": [ + "a = 9\n", + "\n", + "def multiply(number, multiplier=2):\n", + " b = number * multiplier\n", + " return b\n", + "\n", + "c = multiply(a)\n", + "\n", + "print(a, c)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The multiply function above accepts a number and a multiplier (that defaults to 2), creates a local variable b that has a value of the number times the multiplier, and the function returns that value. We can see from the results of the example that global variable a (9) did get multiplied, returned, and assigned to another global variable c, so we know that b did exist within the function and was returned. However, now that the function has completed its job, we receive an error when we try to print b because it does not exist in the global variable namespace. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'b' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mprint\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[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'b' is not defined" + ] + } + ], + "source": [ + "print(b)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can enter any number into the function above and also override the default multiplier and our function will return the product of those two numbers." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "500" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "multiply(100, multiplier=5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Applying Functions to Data Frames\n", + "\n", + "\n", + "Now that we have a basic understanding of how functions and variables work, let's look at how we can apply a function that we have created to a Pandas data frame. For this example, we will import Pandas and the vehicles data set we have been working with in this module. We will then write a get_means function that identifies all the numeric columns in the data set and returns a data frame containing each column name and its mean. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/iudh/.local/lib/python3.7/site-packages/IPython/core/interactiveshell.py:3044: DtypeWarning: Columns (70,71,72,73) have mixed types. Specify dtype option on import or set low_memory=False.\n", + " interactivity=interactivity, compiler=compiler, result=result)\n" + ] + }, + { + "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", + "
ColumnMean
0barrels0817.779002
1barrelsA080.202128
2charge1200.000000
3charge2400.009125
4city0817.574601
\n", + "
" + ], + "text/plain": [ + " Column Mean\n", + "0 barrels08 17.779002\n", + "1 barrelsA08 0.202128\n", + "2 charge120 0.000000\n", + "3 charge240 0.009125\n", + "4 city08 17.574601" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "data = pd.read_csv('vehicles.csv')\n", + "\n", + "def get_means(df):\n", + " numeric = df._get_numeric_data()\n", + " means = pd.DataFrame(numeric.mean()).reset_index()\n", + " means.columns = ['Column', 'Mean']\n", + " return means\n", + "\n", + "mean_df = get_means(data)\n", + "mean_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that we performed several steps with a single function call:\n", + "\n", + " Getting the numeric columns\n", + " Calculating the means\n", + " Resetting the indexes\n", + " Setting the data frame's column names\n", + "\n", + "Also note that the only input necessary for this function was a data frame. The function took care of everything else. That means that it should work for any data frame that you pass it, as long as the data frame has numeric columns. We have just created a tool by writing code once that we can use again and again.\n", + "\n", + "Challenge: Import another data set that contains numeric variables and run the get_means function on it. It should return the means for the numeric columns in that data set. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lab-functional-programming/your-code/.ipynb_checkpoints/Q1-checkpoint.ipynb b/lab-functional-programming/your-code/.ipynb_checkpoints/Q1-checkpoint.ipynb new file mode 100644 index 0000000..e787650 --- /dev/null +++ b/lab-functional-programming/your-code/.ipynb_checkpoints/Q1-checkpoint.ipynb @@ -0,0 +1,245 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the cell below, create a Python function that wraps your previous solution for the Bag of Words lab.\n", + "\n", + "Requirements:\n", + "\n", + "1. Your function should accept the following parameters:\n", + " * `docs` [REQUIRED] - array of document paths.\n", + " * `stop_words` [OPTIONAL] - array of stop words. The default value is an empty array.\n", + "\n", + "1. Your function should return a Python object that contains the following:\n", + " * `bag_of_words` - array of strings of normalized unique words in the corpus.\n", + " * `term_freq` - array of the term-frequency vectors." + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# Import required libraries\n", + "import numpy as np\n", + "import pandas as pd\n", + "# Define function\n", + "def get_bow_from_docs(docs, stop_words=[]):\n", + " \n", + " # In the function, first define the variables you will use such as `corpus`, `bag_of_words`, and `term_freq`.\n", + " \n", + " \"\"\"\n", + " Loop `docs` and read the content of each doc into a string in `corpus`.\n", + " Remember to convert the doc content to lowercases and remove punctuation.\n", + " \"\"\"\n", + " corpus=[]\n", + " for doc in docs:\n", + " corpus.append((open(doc,'r')).read())\n", + " \n", + "\n", + " corpus = [x.strip('\\n').strip('.').lower() for x in corpus]\n", + "\n", + " \n", + "\n", + "\n", + " \n", + " \n", + " \"\"\"\n", + " Loop `corpus`. Append the terms in each doc into the `bag_of_words` array. The terms in `bag_of_words` \n", + " should be unique which means before adding each term you need to check if it's already added to the array.\n", + " In addition, check if each term is in the `stop_words` array. Only append the term to `bag_of_words`\n", + " if it is not a stop word.\n", + " \"\"\"\n", + " bag_of_words = [] \n", + " for frace in corpus:\n", + " for word in frace.split():\n", + " if word not in bag_of_words:\n", + " if word not in stop_words:\n", + " bag_of_words.append(word)\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \"\"\"\n", + " Loop `corpus` again. For each doc string, count the number of occurrences of each term in `bag_of_words`. \n", + " Create an array for each doc's term frequency and append it to `term_freq`.\n", + " \"\"\"\n", + " term_freq =[]\n", + "\n", + " for fraces in corpus:\n", + " \n", + " lista =[]\n", + " words = fraces.split()\n", + " \n", + " for word in bag_of_words:\n", + " lista.append(words.count(word))\n", + " \n", + " term_freq.append(lista)\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " # Now return your output as an object\n", + " return {\n", + " \"bag_of_words\": bag_of_words,\n", + " \"term_freq\": term_freq\n", + " }\n", + "\n", + "#docs = ['doc1.txt','doc2.txt','doc3.txt']\n", + "\n", + "#prueba1= get_bow_from_docs(docs)\n", + "\n", + "#print(prueba1)\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Test your function without stop words. You should see the output like below:\n", + "\n", + "```{'bag_of_words': ['ironhack', 'is', 'cool', 'i', 'love', 'am', 'a', 'student', 'at'], 'term_freq': [[1, 1, 1, 0, 0, 0, 0, 0, 0], [1, 0, 0, 1, 1, 0, 0, 0, 0], [1, 0, 0, 1, 0, 1, 1, 1, 1]]}```" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'bag_of_words': ['ironhack', 'is', 'cool', 'i', 'love', 'am', 'a', 'student', 'at'], 'term_freq': [[1, 1, 1, 0, 0, 0, 0, 0, 0], [1, 0, 0, 1, 1, 0, 0, 0, 0], [1, 0, 0, 1, 0, 1, 1, 1, 1]]}\n" + ] + } + ], + "source": [ + "# Define doc paths array\n", + "docs = ['doc1.txt','doc2.txt','doc3.txt']\n", + "\n", + "# Obtain BoW from your function\n", + "bow = get_bow_from_docs(docs)\n", + "\n", + "# Print BoW\n", + "print(bow)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If your attempt above is successful, nice work done!\n", + "\n", + "Now test your function again with the stop words. In the previous lab we defined the stop words in a large array. In this lab, we'll import the stop words from Scikit-Learn." + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "frozenset({'none', 'her', 'somehow', 'thereby', 'show', 'amoungst', 'still', 'never', 'whom', 'neither', 'am', 'elsewhere', 'bottom', 'con', 'if', 'beside', 'any', 'put', 'becomes', 'perhaps', 'but', 'until', 'among', 'move', 'itself', 'fire', 'everything', 'what', 'therefore', 'anyone', 'forty', 'herself', 'cannot', 'in', 'back', 'sincere', 'was', 'the', 'himself', 'hers', 'latter', 'six', 'afterwards', 'ltd', 'anyhow', 'nine', 'already', 'along', 'might', 'to', 'former', 'now', 'besides', 'those', 'two', 'mill', 'such', 'fifteen', 'were', 'through', 'his', 'against', 'few', 'a', 'hence', 'cry', 'system', 'nowhere', 'out', 'most', 'we', 'should', 'when', 'can', 'ie', 'around', 'on', 'however', 'first', 'less', 'five', 'its', 'every', 'together', 'because', 'same', 'rather', 'enough', 'un', 'fifty', 'without', 'yet', 'except', 'yourselves', 'go', 'that', 'find', 'noone', 'else', 'thus', 'whenever', 'someone', 'other', 'why', 'so', 'indeed', 'least', 'is', 'call', 'serious', 'yours', 'though', 'somewhere', 'have', 'thru', 'towards', 'being', 'fill', 'whence', 'eg', 'almost', 'via', 'beforehand', 'seemed', 'moreover', 'she', 'amount', 'behind', 'with', 'seems', 'keep', 'whatever', 'very', 'within', 'everyone', 'i', 'hereby', 'it', 'since', 'will', 'ever', 'detail', 'must', 'wherever', 'meanwhile', 'made', 'which', 'alone', 'bill', 'much', 'could', 'how', 'empty', 'twenty', 'full', 'where', 'their', 'you', 'sometime', 'hereupon', 'these', 'inc', 'an', 'below', 'one', 'thereupon', 'us', 'twelve', 'yourself', 'no', 'under', 'please', 'nevertheless', 'anyway', 'always', 'hasnt', 'my', 'would', 'others', 'by', 'he', 'each', 'off', 'seem', 'into', 'your', 'ten', 'also', 'anywhere', 'thence', 'ours', 'further', 'all', 'before', 'hereafter', 'whither', 'this', 'top', 'well', 'themselves', 'whoever', 'own', 'sometimes', 'who', 'although', 'mine', 'de', 'or', 'give', 'even', 'him', 'while', 'been', 'ourselves', 'become', 'only', 'at', 'and', 'due', 'thereafter', 'for', 'everywhere', 'me', 'cant', 'above', 'here', 're', 'do', 'whereby', 'than', 'sixty', 'has', 'many', 'couldnt', 'our', 'nobody', 'name', 'not', 'as', 'mostly', 'they', 'them', 'more', 'upon', 'thin', 'get', 'across', 'three', 'over', 'front', 'either', 'becoming', 'wherein', 'after', 'during', 'anything', 'etc', 'whereafter', 'eight', 'whole', 'describe', 'interest', 'otherwise', 'then', 'nothing', 'from', 'up', 'another', 'whereupon', 'are', 'once', 'several', 'third', 'amongst', 'take', 'about', 'between', 'beyond', 'thick', 'something', 'of', 'onto', 'done', 'down', 'hundred', 'often', 'namely', 'both', 'herein', 'throughout', 'seeming', 'latterly', 'last', 'found', 'there', 'became', 'too', 'co', 'eleven', 'side', 'had', 'formerly', 'therein', 'toward', 'per', 'see', 'whose', 'four', 'may', 'whether', 'be', 'next', 'some', 'myself', 'again', 'whereas', 'part', 'nor'})\n" + ] + } + ], + "source": [ + "from sklearn.feature_extraction import _stop_words\n", + "print(_stop_words.ENGLISH_STOP_WORDS)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You should have seen a large list of words that looks like:\n", + "\n", + "```frozenset({'across', 'mine', 'cannot', ...})```\n", + "\n", + "`frozenset` is a type of Python object that is immutable. In this lab you can use it just like an array without conversion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, test your function with supplying `stop_words.ENGLISH_STOP_WORDS` as the second parameter." + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'bag_of_words': ['ironhack', 'cool', 'love', 'student'], 'term_freq': [[1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]]}\n" + ] + } + ], + "source": [ + "docs = ['doc1.txt','doc2.txt','doc3.txt']\n", + "bow = get_bow_from_docs(docs, _stop_words.ENGLISH_STOP_WORDS)\n", + "\n", + "print(bow)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You should have seen:\n", + "\n", + "```{'bag_of_words': ['ironhack', 'cool', 'love', 'student'], 'term_freq': [[1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]]}```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lab-functional-programming/your-code/.ipynb_checkpoints/Q2-checkpoint.ipynb b/lab-functional-programming/your-code/.ipynb_checkpoints/Q2-checkpoint.ipynb new file mode 100644 index 0000000..f8fdb55 --- /dev/null +++ b/lab-functional-programming/your-code/.ipynb_checkpoints/Q2-checkpoint.ipynb @@ -0,0 +1,242 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we want to enhance the `get_bow_from_docs` function so that it will work with HTML webpages. In HTML, there are a lot of messy codes such as HTML tags, Javascripts, [unicodes](https://www.w3schools.com/charsets/ref_utf_misc_symbols.asp) that will mess up your bag of words. We need to clean up those junk before generating BoW.\n", + "\n", + "Next, what you will do is to define several new functions each of which is specialized to clean up the HTML codes in one aspect. For instance, you can have a `strip_html_tags` function to remove all HTML tags, a `remove_punctuation` function to remove all punctuation, a `to_lower_case` function to convert string to lowercase, and a `remove_unicode` function to remove all unicodes.\n", + "\n", + "Then in your `get_bow_from_doc` function, you will call each of those functions you created to clean up the HTML before you generate the corpus.\n", + "\n", + "Note: Please use Python string operations and regular expression only in this lab. Do not use extra libraries such as `beautifulsoup` because otherwise you loose the purpose of practicing." + ] + }, + { + "cell_type": "code", + "execution_count": 167, + "metadata": {}, + "outputs": [], + "source": [ + "# Define your string handling functions below\n", + "# Import required libraries\n", + "import numpy as np\n", + "import pandas as pd\n", + "import re\n", + "# Minimal 3 functions\n", + "\n", + "def to_lower_case(corpus):\n", + " corpus = [x.lower() for x in corpus]\n", + " return corpus\n", + "\n", + "\n", + "def strip_html_tags(corpus):\n", + "#print(corpus) \n", + " cleanr = re.compile('<.*?>') #ELIMINA LOS TAG DE HTML\n", + " corpus = [re.sub(cleanr,' ',x) for x in corpus] \n", + " #https://www.codegrepper.com/code-examples/html/regex+to+remove+html+tags+python\n", + " #cleantext = re.sub(cleanr, '', corpus)\n", + "\n", + " #eliminar tag de java {}\n", + " corpus = [re.sub('\\n',' ',x) for x in corpus] #\n", + " corpus = [re.sub('\\{.*?\\}',' ',x) for x in corpus] #\n", + " #corpus = [re.sub('/.*?/','',x) for x in corpus] #\n", + " #corpus = [re.sub(r'[?|$|.|!]','',x) for x in corpus] #\n", + " #corpus = [re.sub(r'[^a-zA-Z0-9 ]','',x) for x in corpus] #\n", + " #corpus = [re.sub(r'[?|$|.|!]','',x) for x in corpus] #\n", + " return corpus\n", + "\n", + "def remove_punctuation(corpus):\n", + " corpus = [re.sub('/',\"\",x) for x in corpus] #\n", + " corpus = [re.sub(' ',\"\",x) for x in corpus] #\n", + " corpus = [re.sub('\\.',\"\",x) for x in corpus] #\n", + " corpus = [re.sub('\\|',\"\",x) for x in corpus] #\n", + " corpus = [re.sub('_',\"\",x) for x in corpus] #\n", + " corpus = [re.sub('[?|$|.|!]','',x) for x in corpus] #\n", + " corpus = [re.sub('\\\"','',x) for x in corpus] #\n", + " corpus = [re.sub(',','',x) for x in corpus] #\n", + " corpus = [re.sub('[\\(|\\)]','',x) for x in corpus] #→\n", + " corpus = [re.sub('[#|&|€|;|:|\\+]',' ',x) for x in corpus] #→\n", + " corpus = [re.sub('→',' ',x) for x in corpus] #→\n", + " corpus = [re.sub('-',' ',x) for x in corpus] #→\n", + " corpus = [re.sub('\\d+','',x) for x in corpus] #→\n", + " corpus = [re.sub('[\\}|\\{]','',x) for x in corpus] #→\n", + " corpus = [re.sub('=','',x) for x in corpus] #→\n", + " corpus = [re.sub('[a-z]{15,}','',x) for x in corpus] #→\n", + " corpus = [re.sub(' ',\"\",x) for x in corpus] #\n", + " corpus = [re.sub('\\'',\"\",x) for x in corpus] #•%\n", + " corpus = [re.sub('•|%',\"\",x) for x in corpus] #•%\n", + " corpus = [re.sub('[’|“]',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('–',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('\\”',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('[\\[|\\]]',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('\\w+@\\w+',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('@\\w+',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('\\w+@',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('\\t',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub(' ',\"\",x) for x in corpus] #\n", + " return corpus\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, paste your previously written `get_bow_from_docs` function below. Call your functions above at the appropriate place." + ] + }, + { + "cell_type": "code", + "execution_count": 171, + "metadata": {}, + "outputs": [], + "source": [ + "# Import required libraries\n", + "import numpy as np\n", + "import pandas as pd\n", + "# Define function\n", + "def get_bow_from_docs(docs, stop_words=[]):\n", + " \n", + " # In the function, first define the variables you will use such as `corpus`, `bag_of_words`, and `term_freq`.\n", + " \n", + " \"\"\"\n", + " Loop `docs` and read the content of each doc into a string in `corpus`.\n", + " Remember to convert the doc content to lowercases and remove punctuation.\n", + " \"\"\"\n", + " corpus=[]\n", + " for doc in docs:\n", + " corpus.append((open(doc,'r')).read())\n", + " \n", + "\n", + " corpus = to_lower_case(corpus)\n", + " corpus = strip_html_tags(corpus)\n", + " corpus = remove_punctuation(corpus)\n", + "\n", + " \n", + "\n", + "\n", + " \n", + " \n", + " \"\"\"\n", + " Loop `corpus`. Append the terms in each doc into the `bag_of_words` array. The terms in `bag_of_words` \n", + " should be unique which means before adding each term you need to check if it's already added to the array.\n", + " In addition, check if each term is in the `stop_words` array. Only append the term to `bag_of_words`\n", + " if it is not a stop word.\n", + " \"\"\"\n", + " bag_of_words = [] \n", + " for frace in corpus:\n", + " for word in frace.split():\n", + " if word not in bag_of_words:\n", + " if word not in stop_words:\n", + " bag_of_words.append(word)\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \"\"\"\n", + " Loop `corpus` again. For each doc string, count the number of occurrences of each term in `bag_of_words`. \n", + " Create an array for each doc's term frequency and append it to `term_freq`.\n", + " \"\"\"\n", + " term_freq =[]\n", + "\n", + " for fraces in corpus:\n", + " \n", + " lista =[]\n", + " words = fraces.split()\n", + " \n", + " for word in bag_of_words:\n", + " lista.append(words.count(word))\n", + " \n", + " term_freq.append(lista)\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " # Now return your output as an object\n", + " return {\n", + " \"bag_of_words\": bag_of_words,\n", + " \"term_freq\": term_freq\n", + " }\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, read the content from the three HTML webpages in the `your-codes` directory to test your function." + ] + }, + { + "cell_type": "code", + "execution_count": 170, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'bag_of_words': ['ironhack', 'reviews', 'course', 'reporttry', 'catche', 'toggle', 'navigation', 'browse', 'schools', 'stack', 'web', 'development', 'mobile', 'end', 'data', 'science', 'ux', 'design', 'digital', 'marketing', 'product', 'management', 'security', 'otherblog', 'advice', 'ultimate', 'guide', 'choosing', 'school', 'best', 'coding', 'bootcamps', 'uiux', 'review', 'sign', 'inironhack', 'amsterdam', 'barcelona', 'berlin', 'madrid', 'mexico', 'city', 'miami', 'paris', 'sao', 'pauloavg', 'rating', 'reviewsabout', 'courses', 'news', 'contact', 'alex', 'williams', 'week', 'time', 'uxui', 'bootcamp', 'florida', 'spain', 'france', 'germany', 'uses', 'customized', 'approach', 'education', 'allowing', 'students', 'shape', 'experience', 'based', 'personal', 'goals', 'admissions', 'process', 'includes', 'submitting', 'written', 'application', 'interview', 'technical', 'graduate', 'skilled', 'technologies', 'like', 'javascript', 'html', 'css', 'program', 'covers', 'thinking', 'photoshop', 'sketch', 'balsamiq', 'invision', 'help', 'navigating', 'career', 'prep', 'enhancing', 'brand', 'presence', 'networking', 'opportunities', 'chance', 'delve', 'tech', 'community', 'events', 'workshops', 'meetups', 'graduates', 'extensive', 'global', 'network', 'alumni', 'partner', 'companies', 'positioned', 'job', 'developer', 'designer', 'graduation', 'access', 'services', 'prepare', 'search', 'facilitating', 'interviews', 'citys', 'local', 'ratingfrom', 'nurse', 'monthsrecomendable', 'fun', 'great', 'recent', 'webinar', 'dafne', 'land', 'read', 'articles', 'ironhackcourses', 'analytics', 'timeapply', 'mysqldata', 'sciencegitrpythonmachine', 'learningdata', 'structures', 'person', 'start', 'date', 'scheduled', 'cost', 'na', 'class', 'size', 'locationmadrid', 'enables', 'fledged', 'analyst', 'weeks', 'develop', 'practical', 'skills', 'useful', 'industryramp', 'pre', 'work', 'learn', 'intermediate', 'topics', 'using', 'pandas', 'engineering', 'create', 'real', 'datasets', 'youll', 'use', 'python', 'business', 'intelligence', 'doing', 'projects', 'combining', 'programming', 'ironhacks', 'meant', 'secure', 'spot', 'industry', 'important', 'skill', 'away', 'ability', 'technology', 'fast', 'moving', 'changing', 'getting', 'inminimum', 'level', 'basic', 'knowledge', 'hours', 'online', 'content', 'complete', 'order', 'reach', 'required', 'module', 'placement', 'test', 'yes', 'htmluser', 'designcss', 'timehoursweekweeks', 'january', 'locationmiami', 'immersive', 'catered', 'beginners', 'previous', 'taught', 'fundamentals', 'user', 'centered', 'validate', 'ideas', 'research', 'rapid', 'prototyping', 'amp', 'heuristic', 'evaluation', 'capstone', 'project', 'new', 'idea', 'validation', 'launchby', 'ready', 'freelance', 'turbo', 'charge', 'current', 'professional', 'trajectory', 'self', 'guided', 'understand', 'concepts', 'make', 'works', 'flinto', 'designproduct', 'managementuser', 'november', 'meets', 'tuesdays', 'thursdays', 'saturdays', 'additional', 'coursework', 'period', 'months', 'trajectoryor', 'mxn', 'financing', 'options', 'available*', 'competitive', 'rates', 'fundclimb', 'credit', 'algorithms', 'notions', 'object', 'oriented', 'begins', 'october', 'namiami', 'build', 'applications', 'big', 'emphasis', 'battle', 'tested', 'patterns', 'practices', 'evaluate', 'problem', 'select', 'optimal', 'solution', 'suited', 'scope', 'addition', 'train', 'think', 'programmer', 'deconstruct', 'complex', 'problems', 'break', 'smaller', 'modules', 'good', 'general', 'understanding', 'various', 'languages', 'understands', 'fundamental', 'structure', 'possesses', 'language', 'monthly', 'instalments', 'available', 'quotanda', 'scholarshipscholarship', 'women', 'dates', 'march', 'apply', 'angularjsmongodbhtmljavascriptexpressjsnodejsfront', 'write', 'reviewreviews', 'sorted', 'bydefault', 'sortdefault', 'sort', 'helpful', 'filtered', 'byall', 'reviewsall', 'anonymous', 'guidelinesonly', 'applicants', 'permitted', 'leave', 'report', 'post', 'clear', 'valuable', 'honest', 'information', 'informative', 'future', 'bootcampers', 'excelled', 'better', 'nice', 'dont', 'attack', 'grammar', 'check', 'spelling', 'behalf', 'impersonate', 'falsely', 'state', 'misrepresent', 'affiliation', 'entity', 'spam', 'fake', 'intended', 'boost', 'lower', 'ratings', 'link', 'sexually', 'explicit', 'abusive', 'hateful', 'threatens', 'harasses', 'submit', 'duplicate', 'multiple', 'deleted', 'email', 'moderators', 'revise', 'click', 'receive', 'note', 'reserve', 'right', 'remove', 'commentary', 'violates', 'policiesyou', 'log', 'reviewclick', 'nbsp', 'continue', 'hey', 'hack', 'reactor', 'graduated', 'prior', 'titletitleoverall', 'curriculuminstructors', 'assistance', 'applicable', 'details', 'campusselectpauloother', 'courseselect', 'graduationgraduation', 'year', 'younamereview', 'anonymouslynon', 'verified', 'trustworthy', 'shown', 'readers', 'reviewer', 'title', 'ironhackfrom', 'maria', 'luisa', 'campus', 'linkedin', 'monthsoverall', 'wanted', 'turn', 'life', 'liked', 'maybe', 'fear', 'did', 'luckily', 'got', 'changed', 'methodology', 'way', 'teaching', 'makes', 'record', 'recommend', 'doubt', 'helpfulflag', 'inappropriate', 'recomendable', 'nicolae', 'alexe', 'iam', 'senior', 'student', 'computer', 'degree', 'iwas', 'feeling', 'missing', 'academic', 'heard', 'knew', 'needed', 'completely', 'day', 'atmosphere', 'amazing', 'lead', 'teacher', 'learning', 'key', 'elements', 'tas', 'supports', 'ironhackfun', 'gabriel', 'cebrián', 'lucas', 'graduatecourse', 'timecampus', 'github', 'afteroverall', 'came', 'look', 'loved', 'studied', 'learnt', 'somwthing', 'really', 'recomend', 'jacob', 'casado', 'pérez', 'junior', 'fullstack', 'september', 'going', 'music', 'linking', 'change', 'blink', 'eye', 'decided', 'world', 'reason', 'ironhacki', 'background', 'desire', 'improve', 'little', 'grew', 'able', 'overcome', 'challenges', 'thought', 'possible', 'enormous', 'support', 'assistants', 'colleges', 'friends', 'difficult', 'ironhacknew', 'esperanza', 'total', 'totally', 'possibilities', 'disciplines', 'challenge', 'absolutely', 'repeat', 'quality', 'uncompareablei', 'worked', 'biomedical', 'just', 'looking', 'style', 'doesnt', 'teach', 'code', 'teaches', 'ruben', 'psychology', 'technician', 'assistant', 'intense', 'enriching', 'curve', 'verticle', 'upwards', 'started', 'im', 'amazed', 'know', 'simulates', 'perfectly', 'working', 'environment', 'teams', 'tools', 'resolve', 'virtual', 'profesional', 'atmospherewhen', 'visited', 'tuenti', 'spanish', 'company', 'understood', 'talking', 'helps', 'discover', 'want', 'definetly', 'say', 'coder', 'ironhackabout', 'experince', 'pablo', 'tabaoda', 'ortiz', 'talk', 'completing', 'feel', 'impressed', 'facilities', 'teachers', 'fully', 'recommendation', 'professionals', 'renew', 'people', 'trying', 'ironhackweb', 'dev', 'ricardo', 'alonzo', 'devoverall', 'perfect', 'opens', 'doors', 'trully', 'impresive', 'short', 'ironhackan', 'awesome', 'kickstart', 'carreer', 'jhon', 'scarzo', 'carreeroverall', 'goal', 'basics', 'core', 'provide', 'rounded', 'incentivize', 'ironhackreally', 'cool', 'sara', 'motivated', 'things', 'thanks', 'integrated', 'powerful', 'creating', 'different', 'enjoying', 'disposed', 'processrecommendable', 'ironhackchange', 'yago', 'vega', 'hard', 'word', 'experienced', 'commitment', 'ive', 'met', 'learned', 'glad', 'matter', 'come', 'havent', 'single', 'line', 'decision', 'worth', 'penny', 'angularreact', 'rollercoaster', 'emotions', 'lot', 'today', 'officially', 'wouldnt', 'browsing', 'educational', 'stop', 'trust', 'join', 'ironhackers', 'connected', 'helping', 'everyday', 'incredible', 'diego', 'méndez', 'peño', 'studentcourse', 'coming', 'university', 'exceeded', 'expectations', 'gave', 'prepared', 'enthusiast', 'ironhackhow', 'live', 'teo', 'diaz', 'weeksoverall', 'usual', 'belong', 'family', 'colleagues', 'finishing', 'realized', 'enter', 'guarantee', 'ironhackbest', 'ronald', 'everoverall', 'went', 'traditional', 'ended', 'saw', 'organization', 'cares', 'employees', 'clients', 'run', 'ask', 'attending', 'tell', 'happy', 'included', 'culture', 'established', 'weekly', 'surveys', 'aim', 'gathering', 'feedback', 'regularly', 'shows', 'care', 'highly', 'regarded', 'personalble', 'helpfulguiding', 'financial', 'aid', 'processing', 'jessica', 'instrumental', 'guiding', 'newly', 'registered', 'foot', 'questions', 'answered', 'prework', 'free', 'standing', 'david', 'karen', 'lum', 'strong', 'instructors', 'progress', 'continuing', 'journey', 'unavoidable', 'topping', 'daniel', 'brito', 'maniacal', 'drive', 'grads', 'necessary', 'employment', 'resources', 'expect', 'fail', 'ironhacka', 'unique', 'oportunity', 'montserrat', 'monroy', 'trip', 'area', 'option', 'abilities', 'materialize', 'solve', 'coordinated', 'effort', 'accompanying', 'sharing', 'achievements', 'lived', 'generating', 'gratitude', 'respect', 'accompanied', 'study', 'smile', 'kind', 'words', 'helped', 'processes', 'administrative', 'ironhackgreat', 'fernanda', 'quezada', 'deciding', 'signing', 'researched', 'boot', 'camps', 'curriculum', 'attracted', 'latest', 'staff', 'communicative', 'knowledgeable', 'classroom', 'high', 'respectful', 'eager', 'overall', 'impacted', 'growing', 'ironhackmy', 'favorite', 'till', 'salemm', 'nowoverall', 'experiences', 'wrapped', 'sense', 'values', 'worldwide', 'juliet', 'urbina', 'assistancei', 'considered', 'carefully', 'ride', 'regret', 'soonerthe', 'challenging', 'guidance', 'encouragement', 'readily', 'accomplishment', 'essential', 'opened', 'door', 'honestly', 'structured', 'importantly', 'rezola', 'recently', 'completed', 'expand', 'lifestyle', 'fantastic', 'law', 'beginning', 'warned', 'closest', 'relatives', 'encouraged', 'showed', 'huge', 'importance', 'currently', 'living', 'classmates', 'asking', 'times', 'bad', 'touch', 'definetely', 'pleased', 'aspect', 'spend', 'intensively', 'long', 'updated', 'firms', 'requisites', 'mean', 'social', 'speeches', 'enrich', 'appetite', 'joshua', 'matoscampus', 'sooner', 'wished', 'shifted', 'positive', 'small', 'excited', 'holds', 'gaining', 'developers', 'ironhackmost', 'jonathan', 'harris', 'searching', 'stay', 'chose', 'worried', 'reasons', 'easy', 'manage', 'choice', 'case', 'scenario', 'constantly', 'patience', 'felt', 'possibly', 'wasnt', 'super', 'actually', 'pushed', 'limit', 'breaking', 'maximum', 'camp', 'computers', 'eran', 'usha', 'kitchens', 'seemingly', 'enrolled', 'novels', 'areas', 'assitants', 'special', 'relationship', 'fellow', 'seeing', 'confident', 'entering', 'profession', 'hospitality', 'ironhackvery', 'víctor', 'peguero', 'garcía', 'founder', 'leemur', 'app', 'ui', 'improved', 'approached', 'apps', 'years', 'ago', 'designing', 'qualitative', 'improvement', 'experiencefull', 'jose', 'arjona', 'past', 'peaked', 'began', 'taking', 'coursesboot', 'ran', 'dive', 'reviewsratings', 'youre', 'pm', 'including', 'joke', 'invest', 'immediately', 'sent', 'weekrepeat', 'material', 'willing', 'workhelp', 'teacherthe', 'instructor', 'cohort', 'nick', 'downside', 'definitely', 'proficiency', 'subject', 'sandra', 'marcos', 'ian', 'familiar', 'extremely', 'having', 'dedicated', 'struggle', 'theres', 'sure', 'need', 'wont', 'fall', 'tweaking', 'days', 'aside', 'wrong', 'obsolete', 'issues', 'update', 'seen', 'taken', 'steps', 'means', 'seriously', 'brush', 'input', 'rest', 'applied', 'missed', 'beat', 'try', 'owner', 'respond', 'happily', 'hiring', 'fair', 'acquainted', 'man', 'named', 'walks', 'building', 'resume', 'lets', 'attend', 'brings', 'source', 'checking', 'portfolio', 'group', 'showcase', 'youve', 'step', 'event', 'arranges', 'sit', 'introduction', 'eventually', 'didnt', 'ultimately', 'comfortable', 'shouldnt', 'nail', 'eventpeople', 'hired', 'finding', 'placements', 'meetings', 'guides', 'reminds', 'applying', 'slack', 'hunt', 'instantly', 'harder', 'fresh', 'aroundjobs', 'handfuls', 'phone', 'half', 'stopped', 'kept', 'stressful', 'quit', 'conclusion', 'yesyou', 'given', 'hand', 'hold', 'invested', 'fulfilling', 'far', 'disappointed', 'bit', 'tons', 'message', 'gladly', 'answer', 'alexander', 'teodor', 'mazilucampus', 'technological', 'base', 'wonderful', 'struggling', 'exceptional', 'manuel', 'colby', 'adrian', 'trouble', 'bugs', 'lost', 'patient', 'extra', 'mile', 'deeply', 'early', 'weekends', 'spending', 'whiteboard', 'grateful', 'professor', 'alan', 'natural', 'aptitude', 'courteous', 'welcoming', 'running', 'scientists', 'types', 'likely', 'explain', 'ways', 'terms', 'complexity', 'memory', 'expected', 'lessons', 'particularly', 'rewarding', 'knack', 'abstract', 'digestible', 'bits', 'collectively', 'attempt', '*protip*', 'volunteer', 'presents', 'noticed', 'brave', 'retained', 'walked', 'solid', 'gives', 'marker', 'home', 'house', 'objectives', 'examples', 'force', 'brain', 'reconcile', 'daily', 'basis', 'certainly', 'theyre', 'frustrating', 'counseled', 'counselor', 'earth', 'wisdom', 'share', 'interviewing', 'construct', 'specifically', 'tells', 'accepting', 'offers', 'insight', 'willingness', 'supportive', 'starting', 'thankful', 'humbled', 'opportunity', 'absolute', 'pleasure', 'deal', 'blown', 'hackathon', 'impressive', 'legitimately', 'wish', 'blew', 'mind', 'systematic', 'creativity', 'organized', 'themso', 'wrap', 'wholeheartedly', 'recommended', 'actively', 'participate', 'engaged', 'attitude', 'hellip', 'rsaquolast', 'raquo', 'newsour', 'bootcamplauren', 'stewart', 'york', 'codedesign', 'academy', 'switch', 'careers', 'timebootcampin', 'hour', 'talked', 'panel', 'hear', 'balanced', 'commitments', 'plus', 'audience', 'rewatch', 'reading', 'rarrhow', 'ironhackimogen', 'crispe', 'dipping', 'toes', 'graphic', 'finance', 'olca', 'tried', 'enroll', 'english', 'satisfying', 'ateverisa', 'european', 'consulting', 'firmq', 'awhats', 'path', 'diverse', 'originally', 'austria', 'bachelors', 'multimedia', 'london', 'honolulu', 'video', 'production', 'jobs', 'imagined', 'mba', 'vienna', 'san', 'increase', 'bored', 'figure', 'interested', 'focused', 'internet', 'enjoyed', 'researching', 'philosophical', 'aspects', 'direction', 'heading', 'told', 'sounded', 'intimidating', 'realize', 'thats', 'exactly', 'goes', 'personality', 'love', 'youvetraveleda', 'choose', 'ina', 'differentcity', 'college', 'beginner', 'talented', 'field', 'moved', 'fell', 'confirmed', 'startup', 'scene', 'id', 'flexibility', 'remotely', 'allow', 'genuinely', 'pursuing', 'passing', 'exercises', 'passed', 'accepted', 'tough', 'split', 'pretty', 'doable', 'second', 'final', 'angular', 'framework', 'demanding', 'remember', 'finished', 'quite', 'lectures', 'character', 'frustrations', 'overcoming', 'straight', 'oldest', 'guy', 'late', 's', 'average', 'somebody', 'international', 'europeans', 'latin', 'americans', 'built', 'created', 'game', 'blackjack', 'accomplished', 'capable', 'clueless', 'believe', 'hunting', 'soon', 'guarantees', 'recruiters', 'quick', 'sonia', 'adviser', 'landed', 'milk', 'caring', 'ateverisfor', 'congrats', 'everis', 'contacted', 'active', 'reaching', 'replied', 'office', 'called', 'shortly', 'received', 'offer', 'exhausted', 'graduating', 'took', 'month', 'holidays', 'thereeveris', 'consultancy', 'typescript', 'purely', 'organizations', 'governmental', 'loans', 'team', 'zaragoza', 'manager', 'brussels', 'belgium', 'branches', 'gender', 'covered', 'evolving', 'frameworks', 'provided', 'easily', 'inevitably', 'joined', 'grown', 'independent', 'afraid', 'touching', 'developed', 'passion', 'weird', 'sounds', 'enjoy', 'solving', 'academia', 'regretted', 'trends', 'client', 'implementing', 'logic', 'functions', 'corporation', 'whats', 'biggest', 'roadblock', 'stuck', 'frustrated', 'block', 'logically', 'calm', 'results', 'stayed', 'involved', 'left', 'gotten', 'cohorts', 'weve', 'tight', 'hosts', 'prioritize', 'making', 'aware', 'mental', 'limits', 'stupid', 'master', 'ahead', 'websiteabout', 'author', 'imogen', 'writer', 'producer', 'loves', 'writing', 'journalism', 'newspapers', 'websites', 'england', 'dubai', 'zealand', 'lives', 'brooklyn', 'ny', 'spainlauren', 'ironhackdemand', 'designers', 'limited', 'silicon', 'valley', 'realizing', 'cities', 'known', 'architectural', 'hubs', 'sofía', 'dalponte', 'bootcampin', 'demand', 'outcomes', 'joana', 'cahner', 'supported', 'market', 'hot', 'tips', 'jobcontinue', 'rarrcampus', 'spotlight', 'berlinlauren', 'proving', 'ecosystem', 'campuses', 'launching', 'advantage', 'spoke', 'emea', 'expansion', 'alvaro', 'rojas', 'wework', 'space', 'recruiting', 'lots', 'partners', 'grad', 'coderq', 'strategy', 'strategic', 'startups', 'california', 'embassy', 'los', 'angeles', 'launched', 'venture', 'companys', 'mission', 'stories', 'backgrounds', 'gonzalo', 'manrique', 'founders', 'europe', 'middle', 'eastern', 'africa', 'position', 'brainer', 'pick', 'everybody', 'literate', 'planning', 'require', 'software', 'regardless', 'machines', 'dominate', 'speak', 'perspective', 'easier', 'benefits', 'prospective', 'thing', 'alum', 'role', 'vp', 'ops', 'berriche', 'plan', 'rank', 'according', 'factors', 'determinants', 'success', 'finally', 'clearly', 'set', 'main', 'responsible', 'operations', 'hr', 'setting', 'legal', 'securing', 'dream', 'tailor', 'customer', 'segments', 'awareness', 'value', 'proposition', 'convinced', 'focus', 'strongly', 'partnering', 'n', 'moberries', 'launches', 'stood', 'place', 'present', 'strongest', 'ecosystems', 'largest', 'quarter', 'crazy', 'disruptive', 'booming', 'attract', 'retain', 'flocking', 'plenty', 'gap', 'older', 'digitalization', 'mckinsey', 'released', 'saying', 'point', 'pay', 'universities', 'cater', 'believes', 'private', 'public', 'failing', 'adapt', 'revolution', 'age', 'requires', 'provides', 'impact', 'condensed', 'objective', 'zero', 'programs', 'providing', 'channels', 'stand', 'competition', 'laser', 'enabling', 'achieve', 'employable', 'ensure', 'employers', 'hire', 'behavioral', 'theyve', 'giving', 'organizing', 'meet', 'changers', 'possibility', 'specialize', 'realizes', 'does', 'accommodate', 'starts', 'july', 'bigger', 'forward', 'grow', 'number', 'ensuring', 'ratio', 'hes', 'knows', 'leads', 'example', 'gone', 'play', 'incredibly', 'divided', 'backend', 'microservices', 'apis', 'ruby', 'rails', 'nodejs', 'consistent', 'allows', 'loop', 'sticking', 'iterate', 'located', 'atrium', 'tower', 'potsdamer', 'platz', 'room', 'accessible', 'town', 'central', 'location', 'terrace', 'amenities', 'coffee', 'snacks', 'views', 'envision', 'landing', 'afterbootcamp', 'reputation', 'signed', 'bank', 'talks', 'said', 'google', 'twitter', 'visa', 'rocket', 'magic', 'leap', 'profiles', 'partnerships', 'pool', 'locally', 'entry', 'staying', 'communities', 'resumes', 'decide', 'abroad', 'arise', 'wrote', 'blog', 'piece', 'mingle', 'bunch', 'informal', 'workshop', 'whos', 'considering', 'form', 'scared', 'tendency', 'resistant', 'encourage', 'feet', 'wet', 'programmers', 'faith', 'commit', 'rate', 'rigorous', 'majority', 'succeed', 'website', 'lauren', 'communications', 'strategist', 'passionate', 'techonology', 'arts', 'careeryouth', 'affairs', 'philanthropy', 'richmond', 'va', 'resides', 'ca', 'newspodcastimogen', 'revature', 'assembly', 'elewa', 'holberton', 'flatiron', 'bloc', 'edit', 'andela', 'galvanize', 'dojo', 'thinkful', 'red', 'origin', 'hackbright', 'muktek', 'welcome', 'roundup', 'busywe', 'published', 'demographics', 'promising', 'diversity', 'significant', 'fundraising', 'announcement', 'journalists', 'exploring', 'apprenticeship', 'versus', 'newest', 'posts', 'listen', 'podcast', 'januarywe', 'alexandre', 'continually', 'connect', 'anetwork', 'q', 'drew', 'equity', 'jumiaa', 'african', 'amazon', 'head', 'north', 'managing', 'director', 'tunisiai', 'ariel', 'inspired', 'vision', 'attended', 'potential', 'model', 'america', 'keen', 'peoples', 'receptive', 'conversation', 'fit', 'markets', 'open', 'preparation', 'launch', 'consider', 'human', 'gm', 'convince', 'scratch', 'leverage', 'relations', 'integrate', 'administration', 'leaders', 'globally', 'opening', 'estimated', 'deficit', 'generation', 'attractive', 'preferred', 'facebook', 'multinationals', 'maturing', 'significantly', 'vcs', 'accelerators', 'builders', 'friendly', 'penetrate', 'competitors', 'obviously', 'ties', 'excite', 'fewbootcampsin', 'pop', 'operate', 'standards', 'bringing', 'raising', 'large', 'ibm', 'satisfaction', 'operating', 'continued', 'methods', 'offices', 'insurgentes', 'coworking', 'alongside', 'dynamic', 'exciting', 'colonia', 'napoles', 'district', 'rooms', 'x', 'classes', 'rolling', 'quantitative', 'accept', 'selective', 'worker', 'money', 'intensive', 'collect', 'scale', 'efficiently', 'loops', 'specificities', 'instance', 'seven', 'maybewere', 'grows', 'globalbootcamphow', 'linio', 'tip', 'mexican', 'invited', 'type', 'talent', 'produce', 'targeting', 'guadalajara', 'monterrey', 'entrepreneurs', 'focuses', 'ambitions', 'iron', 'normal', 'unless', 'meetup', 'suggestions', 'december', 'th', 'lifetime', 'download', 'page', 'motivations', 'committed', 'comments', 'center', 'sweepstakes', 'winner', 'luis', 'nagel', 'ironhacklauren', 'entered', 'win', 'gift', 'card', 'leaving', 'lucky', 'april', 'caught', 'ironhackwant', 'advertising', 'devialab', 'agency', 'mainly', 'close', 'entrepreneur', 'codingbootcamp', 'agenda', 'offered', 'visit', 'rounduppodcastimogen', 'georgia', 'yard', 'usc', 'viterbi', 'covalence', 'deltav', 'southern', 'institute', 'se', 'factory', 'wethinkcode', 'devtree', 'unit', 'tk', 'metis', 'platoon', 'codeup', 'minnesota', 'campsneed', 'summary', 'developments', 'closure', 'major', 'dived', 'reports', 'investments', 'initiatives', 'round', 'worldcontinue', 'parislauren', 'locations', 'françoisfilletteto', 'june', 'parisfirst', 'dimensions', 'related', 'players', 'docs', 'tremendously', 'withbootcampswhat', 'francisco', 'codingame', 'vc', 'cofounders', 'embraced', 'execute', 'couple', 'later', 'happier', 'wake', 'morning', 'codingbootcampcould', 'motivation', 'funding', 'nd', 'exponentially', 'station', 'f', 'xavier', 'niel', 'cofounder', 'incubator', 'growth', 'fueled', 'increasing', 'economy', 'shortage', 'filled', 'targets', 'appeared', 'apart', 'dedicate', 'courseto', 'hands', 'submitted', 'coaching', 'connections', 'discuss', 'neighborhood', 'arrondissement', 'near', 'opera', 'metro', 'lines', 'bus', 'bike', 'stations', 'car', 'magnificent', 'patio', 'meetingworking', 'assignments', 'tracks', 'ones', 'chosen', 'popular', 'relevant', 'expertise', 'mentors', 'focusing', 'integrating', 'ex', 'react', 'meteor', 'industries', 'rising', 'media', 'entertainment', 'andor', 'agencies', 'hell', 'assisted', 'ta', 'ofmentors', 'coach', 'session', 'sponsored', 'florian', 'jourda', 'st', 'engineer', 'box', 'scaled', 'spent', 'chief', 'officer', 'bayes', 'ngo', 'funded', 'machine', 'unemployment', 'usually', 'monitoring', 'operational', 'execution', 'recruit', 'successful', 'question', 'depends', 'transparent', 'dedicating', 'similar', 'miamis', 'difference', 'rooftop', 'floor', 'organize', 'lunches', 'approaching', 'employer', 'realities', 'needs', 'partnered', 'withtech', 'drivy', 'leader', 'peer', 'rental', 'jumia', 'equivalent', 'east', 'stootie', 'kima', 'ventures', 'fund', 'withportfolio', 'series', 'd', 'accomplish', 'corporations', 'mastering', 'volumes', 'enthusiasm', 'expressed', 'theyll', 'metrics', 'usuallyof', 'employee', 'hackercreate', 'whilebecome', 'freelancers', 'remote', 'constant', 'interaction', 'wants', 'intro', 'openclassrooms', 'codecademy', 'codecombat', 'numa', 'outstanding', 'specific', 'topic', 'apprehended', 'thoughts', 'youd', 'exists', 'send', 'seats', 'typeformread', 'episodeapril', 'green', 'fox', 'grand', 'circus', 'acclaim', 'playcrafting', 'arizona', 'sky', 'umass', 'amherst', 'austin', 'chrysalis', 'deep', 'unh', 'queens', 'zip', 'wilmington', 'collected', 'handy', 'reporting', 'scholarships', 'added', 'interesting', 'directory', 'rarryourlearntocode', 'codesmith', 'v', 'davinci', 'coders', 'grace', 'hopper', 'claim', 'bov', 'designlab', 'nl', 'elevator', 'learningfuze', 'growthx', 'wyncode', 'turntotech', 'temple', 'reflect', 'store', 'certain', 'unmet', 'bet', 'streak', 'abootcampprep', 'cheers', 'resolutions', 'list', 'plunge', 'cross', 'compiled', 'stellar', 'offering', 'timepart', 'scholarship', 'dish', 'aspiring', 'youcontinue', 'rarrdecember', 'roundupimogen', 'asi', 'labsiot', 'cloud', 'hackeryou', 'firehose', 'guild', 'codingnomads', 'upscale', 'nyc', 'epitech', 'academyacademy', 'uc', 'irvine', 'happenings', 'announcements', 'uber', 'tokyo', 'staffing', 'firm', 'rarrinstructor', 'jacqueline', 'pastore', 'ironhackliz', 'eggleston', 'testing', 'sat', 'superstar', 'listening', 'empathy', 'communication', 'produces', 'unicorns', 'incorporating', 'htmlbootstrap', 'ahow', 'changer', 'film', 'creative', 'boston', 'temping', 'capital', 'harvard', 'mit', 'smart', 'lotus', 'notes', 'usability', 'labs', 'tester', 'bentley', 'masters', 'magical', 'ethnography', 'microsoft', 'staples', 'adidas', 'reebok', 'fidelity', 'federal', 'jp', 'morgan', 'chase', 'h', 'r', 'novartis', 'zumba', 'fitness', 'gofer', 'tool', 'effective', 'quickly', 'verticals', 'platforms', 'hadnt', 'used', 'refine', 'particular', 'stands', 'referred', 'respected', 'conferences', 'lecture', 'foundations', 'principles', 'deliver', 'activities', 'tests', 'products', 'pieces', 'instead', 'demonstrate', 'foray', 'marcelo', 'paiva', 'follow', 'lifecycles', 'marketplace', 'researchhow', 'target', 'deliverables', 'turning', 'concept', 'architecture', 'low', 'micro', 'models', 'principal', 'visualdesign', 'beasts', 'implement', 'designs', 'bootstrap', 'marketable', 'individual', 'breakouts', 'push', 'trendinthe', 'generalist', 'larger', 'broader', 'specialized', 'niches', 'instructorstasandor', 'ideal', 'ismany', 'tackled', 'groups', 'flow', 'experts', 'sections', 'differ', 'jump', 'shoes', 'mix', 'include', 'sony', 'non', 'profit', 'crack', 'sector', 'schedule', 'approximately', 'outside', '~', 'hoursweek', 'largely', 'sum', 'units', 'cover', 'completes', 'individually', 'entire', 'result', 'prototypes', 'carry', 'circumstances', 'varying', 'roles', 'fields', 'depending', 'interests', 'houses', 'introductory', 'ixda', 'resource', 'e', 'mail', 'wed', 'profile', 'moreabout', 'liz', 'breakfast', 'tacos', 'twitterquora', 'youtube', 'nbsplearn', 'summer', 'bootcampliz', 'logit', 'south', 'fellows', 'incoming', 'freshman', 'offerings', 'rarr', 'bootcampimogen', 'picked', 'range', 'francisconew', 'yorkchicagoseattle', 'arent', 'uscontinue', 'rarrcoding', 'comparison', 'devmountain', 'redwood', 'academygrace', 'refactoru', 'rithm', 'devpoint', 'makersquare', 'digitalcrafts', 'bottega', 'codecraft', 'turing', 'wondering', 'bootcampis', 'costs', 'deferred', 'tuition', 'budget', 'usathis', 'site', 'longer', 'comparable', 'listed', 'usa', 'links', 'detailed', 'pages', 'rarrcracking', 'miamiliz', 'ios', 'expanded', 'acceptance', 'sneak', 'peek', 'applicationhow', 'typically', 'falls', 'stages', 'takes', 'averagedays', 'entirety', 'submission', 'wanting', 'nutshell', 'peak', 'admission', 'committees', 'attracts', 'flight', 'attendants', 'travelling', 'yoginis', 'cs', 'ivy', 'leagues', 'democratic', 'sorts', 'pedigree', 'tend', 'perform', 'necessarily', 'interviewcan', 'sample', 'motivates', 'happens', 'function', 'inside', 'suggest', 'ace', 'applicant', 'midst', 'materials', 'address', 'programminghttpsintrohtml', 'catshttp', 'qualities', 'reveals', 'candidates', 'indicator', 'curiosity', 'probably', 'led', 'consists', 'minutes', 'breadth', 'acceptedwhat', 'exact', 'spots', 'gets', 'roots', 'visastourist', 'visas', 'countries', 'represented', 'thailand', 'pakistan', 'brazil', 'travel', 'tourist', 'melting', 'pot', 'combined', 'werent', 'article', 'let', 'commentsbest', 'southharry', 'hantel', 'nashville', 'codecamp', 'charleston', 'foundry', 'slide', 'roof', 'lee', 'mason', 'dixon', 'united', 'states', 'carolinas', 'texas', 'covering', 'rarrstudent', 'gorka', 'magana', 'rushmorefm', 'freelancer', 'appliedive', 'developing', 'concrete', 'platform', 'drove', 'bootcampsi', 'basically', 'adwords', 'avoid', 'merit', 'likethe', 'separated', 'approved', 'etcit', 'men', 'shouldve', 'endless', 'agile', 'continuously', 'adapting', 'burnout', 'iti', 'tired', 'boring', 'ugly', 'challenged', 'succeedfor', 'situation', 'following', 'speed', 'proud', 'ironhackim', 'finish', 'collaboration', 'designed', 'snapreminder', 'tunedwhat', 'entailim', 'releasing', 'ill', 'directly', 'worldit', 'graduatednot', 'formally', 'hereexclusive', 'makers', 'rutgers', 'starter', 'league', 'xorgil', 'viking', 'architects', 'byte', 'devleague', 'sabio', 'devcodecamp', 'lighthouse', 'exclusive', 'discounts', 'promo', 'codes', 'jaime', 'munoz', 'soft', 'applying\\u200bbefore', 'programmer\\u200b', 'managed', 'cice', 'luck', 'devta', 'singh', 'face', 'revelation', 'moment', 'fact', 'offline', 'php', 'improving', 'faster', 'stimulate', 'trazos', 'pushing', 'turned', 'price', 'etc\\u200bironhack', 'admire', 'keyvan', 'akbary', 'carlos', 'blé', 'choice\\u200b', '\\u200bfortunately', 'asked', 'explanations', 'solved', 'problem\\u200b', '\\u200bthey', 'guess', 'thinks', 'imagine', 'am\\u200b', 'etc\\u200bfor', 'postgresql', 'javascript\\u200b', 'medical', 'appointments', 'demo', 'entail\\u200bim', 'marketgoocom', 'seo', 'tool\\u200b', 'mysql', 'phinx', 'collaborating', 'decisions', 'behavior', 'ironhack\\u200bmaybe', 'handle', 'alone\\u200b', 'contacts', 'knowhow', 'catch', 'twitterstudent', 'marta', 'fonda', 'compete', 'succeeded', 'floqqcomwhat', 'applyingwhen', 'degrees', 'studies', 'interviewed', 'c', 'java', 'sql', 'lacking', 'modern', 'rubythis', 'places', 'lean', 'teamwork', 'surrounded', 'country', 'convert', 'fastest', 'livedtell', 'etcwell', 'save', 'features', 'responsive', 'jquery', 'storage', 'frontend', 'efforts', 'finalists', 'hackshow', 'entail', 'floqqcom', 'nowadays', 'ironhackit', 'impossible', 'it´s', 'i´ve', 'º', 'allowed', 'born', 'quinones', 'american', 'sets', 'aparttell', 'puerto', 'rico', 'comes', 'construction', 'civil', 'infrastructure', 'household', 'educators', 'parents', 'father', 'dna', 'wharton', 'ed', 'iterating', 'issue', 'brilliant', 'mvp', 'outsource', 'acquire', 'compressed', 'earlier', 'traction', 'region', 'geared', 'opposed', 'admit', 'hesitant', 'newbie', 'appealing', 'folks', 'analytical', 'hardcore', 'lesson', 'fly', 'filter', 'disparate', 'levels', 'arriving', 'differently', 'velocities', 'styles', 'pace', 'everyones', 'yeah', 'scenes', 'food', 'parties…', 'integral', 'society', 'higher', 'arena', 'fashion', 'trained', 'foreigners', 'eu', 'mobility', 'union', 'citizen', 'requirements', 'northern', 'weather', 'beaches', 'lifestyle…', 'thriving', 'cosmopolitan', 'emerging', 'stage', 'acquired', 'substantial', 'rounds', 'driver', 'employ', 'engineers', 'northeast', 'enrolling', 'incur', 'tape', 'raised', 'bootstrapped', 'sinatra', 'culmination', 'believers', 'flipped', 'reduce', 'theory', 'extent', 'videos', 'homework', 'weekend', 'demands', 'fragmented', 'gazillion', 'percent', 'obsessed', 'instrument', 'differentiates', 'obsession', 'clean', 'format', 'slightly', 'android', 'capped', 'view', 'instructing', 'parts', 'fulltime', 'peers', 'connects', 'professors', 'vested', 'prove', 'screen', 'minute', 'skype', 'intrinsic', 'monday', 'friday', 'saturdaysunday…', 'beams', 'energy', 'positivity', 'assess', 'programmed', 'cases', 'coded', 'valuation', 'founding', 'thanemployees', 'speakers', 'serves', 'identify', 'bring', 'leading', 'cv', 'optimize', 'conduct', 'luxury', 'paying', 'fee', 'charging', 'placing', 'placed', 'nearly', 'accreditation', 'buzz', 'happening', 'radar', 'pressure', 'government', 'attention', 'interfere', 'institutions', 'expanding', 'anytime', 'regions', 'closer', 'websiteironhack', 'paulocontact', 'ironhackschool', 'infoschool', 'info', 'developmentux', 'designpaulo', 'accepts', 'gi', 'licensing', 'licensed', 'dept', 'educationnbsp', 'housingoffers', 'corporate', 'training', 'yourelooking', 'match', 'namemy', 'optional', 'pauloany', 'acknowledge', 'shared', 'thanksverify', 'viaemail', 'githubby', 'clicking', 'verify', 'linkedingithub', 'agree', 'emailgo', 'publish', 'var', 'newwindow', 'functionif', 'delete', 'moderatorsback', 'reviewfunction', 'instructions', 'confirm', 'closeonclick', 'closethismodal', 'functionhang', 'whoa', 'terribly', 'fix', 'reviewnbsp', 'copy', 'clipboardfind', 'highest', 'rated', 'looks', 'mailing', 'shoot', 'emailgreat', 'safe', 'uslegal', 'service', 'privacy', 'policy', 'usresearch', 'ofcoding', 'outcomesdemographics', 'studycourse', 'researchlog', 'inforgot', 'password', 'oror', 'track', 'compare', 'reportsign', 'accountlog', 'analysiswikipediadata', 'analysis', 'wikipedia', 'encyclopedia', 'navigationjump', 'statisticsdata', 'visualization', 'analysisinformation', 'interactive', 'descriptive', 'statisticsinferential', 'statistics', 'statistical', 'graphicsplot', 'infographic', 'figurestamara', 'munzner', 'ben', 'shneiderman', 'john', 'w', 'tukey', 'edward', 'tufte', 'viégas', 'hadley', 'wickham', 'typesline', 'chart', 'bar', 'histogramscatterplot', 'boxplotpareto', 'pie', 'chartarea', 'control', 'stem', 'leaf', 'displaycartogram', 'multiplesparkline', 'table', 'topicsdata', 'datadatabase', 'chartjunkvisual', 'perception', 'regression', 'analysisstatistical', 'misleadinganalysis', 'simulationdata', 'potentials', 'morselong', 'lennard', 'jones', 'yukawa', 'morse', 'potentialfluid', 'dynamics', 'finite', 'volume', 'element', 'boundary', 'lattice', 'boltzmann', 'riemann', 'solver', 'dissipative', 'particle', 'smoothed', 'modelsmonte', 'carlo', 'integration', 'gibbs', 'sampling', 'metropolis', 'algorithm', 'particlen', 'body', 'cell', 'molecular', 'dynamicsulam', 'von', 'neumann', 'galerkin', 'lorenz', 'wilson', 'vtedata', 'inspecting', 'cleansingtransforming', 'modelingdata', 'discovering', 'informing', 'conclusions', 'supporting', 'facets', 'approaches', 'encompassing', 'techniques', 'variety', 'names', 'domains', 'mining', 'technique', 'modeling', 'discovery', 'predictive', 'purposes', 'relies', 'heavily', 'aggregation', 'statisticsexploratory', 'eda', 'confirmatory', 'cda', 'confirming', 'falsifying', 'existing', 'hypothesespredictive', 'forecasting', 'classification', 'text', 'applies', 'linguistic', 'structural', 'extract', 'classify', 'textual', 'sources', 'species', 'unstructured', 'varieties', 'precursor', 'closely', 'linked', 'dissemination', 'term', 'synonym', 'contentsthe', 'collection', 'cleaning', 'exploratory', 'messages', 'analyzing', 'users', 'barriers', 'confusing', 'opinion', 'cognitive', 'biases', 'innumeracy', 'buildings', 'practitioner', 'initial', 'measurements', 'implementation', 'fulfill', 'intentions', 'nonlinear', 'stability', 'methodsfree', 'contests', 'references', 'citations', 'bibliography', 'editdata', 'flowchart', 'cathy', 'oneil', 'rachel', 'schuttanalysis', 'refers', 'separate', 'components', 'examination', 'obtaining', 'raw', 'converting', 'analyzed', 'hypotheses', 'disprove', 'theories', 'statistician', 'defined', 'procedures', 'interpreting', 'precise', 'accurate', 'machinery', 'mathematical', 'phases', 'distinguished', 'described', 'iterative', 'phasesdata', 'inputs', 'specified', 'directing', 'customers', 'experimental', 'population', 'variables', 'regarding', 'income', 'obtained', 'numerical', 'categorical', 'label', 'numbersdata', 'communicated', 'analysts', 'custodians', 'personnel', 'sensors', 'traffic', 'cameras', 'satellites', 'recording', 'devices', 'downloads', 'documentationdata', 'editthe', 'cycle', 'actionable', 'conceptually', 'initially', 'processed', 'organised', 'involve', 'rows', 'columns', 'spreadsheet', 'softwaredata', 'incomplete', 'contain', 'duplicates', 'errors', 'stored', 'preventing', 'correcting', 'common', 'tasks', 'matching', 'identifying', 'inaccuracy', 'deduplication', 'column', 'segmentation', 'identified', 'totals', 'compared', 'separately', 'numbers', 'believed', 'reliable', 'unusual', 'amounts', 'determined', 'thresholds', 'reviewed', 'depend', 'addresses', 'outlier', 'detection', 'rid', 'incorrectly', 'spell', 'checkers', 'lessen', 'mistyped', 'correctexploratory', 'cleaned', 'begin', 'contained', 'datathe', 'exploration', 'requests', 'nature', 'median', 'generated', 'examine', 'graphical', 'obtain', 'datamodeling', 'formulas', 'relationships', 'correlation', 'causation', 'variable', 'residual', 'error', 'accuracy', 'modelerror', 'inferential', 'measure', 'explains', 'variation', 'sales', 'dependent', 'y', 'axberror', 'b', 'minimize', 'predicts', 'simplify', 'communicate', 'resultsdata', 'generates', 'outputs', 'feeding', 'analyzes', 'purchasing', 'history', 'recommends', 'purchases', 'enjoycommunication', 'analysismain', 'articledata', 'reported', 'formats', 'determining', 'displays', 'tables', 'charts', 'lookup', 'visualizationa', 'illustrated', 'demonstrating', 'revenue', 'scatterplot', 'illustrating', 'inflation', 'measured', 'points', 'stephen', 'associated', 'graphs', 'specifying', 'performing', 'captured', 'trendranking', 'subdivisions', 'ranked', 'ascending', 'descending', 'ranking', 'performance', 'persons', 'category', 'subdivision', 'personspart', 'percentage', 'ofa', 'ratios', 'acategorical', 'reference', 'actual', 'vs', 'expenses', 'departments', 'distribution', 'observations', 'interval', 'stock', 'return', 'intervals', 'asetc', 'histogram', 'thiscomparison', 'xy', 'determine', 'opposite', 'directions', 'plotting', 'scatter', 'plot', 'messagenominal', 'comparing', 'geospatial', 'map', 'layout', 'floors', 'cartogram', 'typical', 'alsoproblem', 'koomey', 'includecheck', 'anomalies', 'calculations', 'verifying', 'formula', 'driven', 'subtotals', 'predictable', 'normalize', 'comparisons', 'relative', 'gdp', 'index', 'component', 'dupont', 'standard', 'deviation', 'analyze', 'cluster', 'meanan', 'illustration', 'mece', 'principle', 'consultants', 'layer', 'broken', 'sub', 'mutually', 'add', 'exhaustive', 'definition', 'divisions', 'robust', 'hypothesis', 'true', 'gathered', 'false', 'effect', 'relates', 'economics', 'phillips', 'involves', 'likelihood', 'ii', 'relate', 'rejecting', 'affects', 'changes', 'affect', 'equation', 'condition', 'nca', 'additive', 'outcome', 'xs', 'compensate', 'sufficient', 'necessity', 'exist', 'compensation', 'messaging', 'outlined', 'analytic', 'presented', 'taxonomy', 'poles', 'retrieving', 'arranging', 'taskgeneral', 'descriptionpro', 'forma', 'retrieve', 'attributes', 'attributesin', 'caseswhat', 'mileage', 'gallon', 'ford', 'mondeohow', 'movie', 'wind', 'conditions', 'attribute', 'satisfy', 'conditionswhat', 'kelloggs', 'cereals', 'fiberwhat', 'comedies', 'won', 'awards', 'funds', 'underperformed', 'sp', 'compute', 'derived', 'aggregate', 'numeric', 'representation', 'calorie', 'cerealswhat', 'gross', 'stores', 'manufacturers', 'cars', 'therefind', 'extremum', 'possessing', 'extreme', 'topbottom', 'mpgwhat', 'directorfilm', 'marvel', 'studios', 'release', 'datesort', 'ordinal', 'metric', 'weightrank', 'caloriesdetermine', 'span', 'lengthswhat', 'horsepowers', 'actresses', 'setcharacterize', 'characterize', 'carbohydrates', 'shoppersfind', 'expectation', 'outliers', 'exceptions', 'horsepower', 'accelerationare', 'proteincluster', 'clusters', 'attributesare', 'lengthscorrelate', 'fatis', 'mpg', 'genders', 'payment', 'method', 'trend', 'length', 'yearsgiven', 'contextual', 'relevancy', 'context', 'restaurants', 'foods', 'caloric', 'intake', 'distinguishing', 'sound', 'mw', 'parser', 'output', 'quotebox', 'pmw', 'p', 'quotequoted', 'aligned', 'cite', 'max', 'width', 'px', 'entitled', 'facts', 'patrick', 'moynihan', 'formal', 'irrefutable', 'meaning', 'august', 'congressional', 'cbo', 'extending', 'bush', 'tax', 'cuts', 'trillion', 'national', 'debt', 'disagree', 'opinionas', 'auditor', 'arrive', 'statements', 'publicly', 'traded', 'fairly', 'stated', 'respects', 'factual', 'evidence', 'opinions', 'erroneouscognitive', 'adversely', 'confirmation', 'bias', 'interpret', 'confirms', 'preconceptions', 'individuals', 'discredit', 'viewsanalysts', 'book', 'retired', 'cia', 'richards', 'heuer', 'delineate', 'assumptions', 'chains', 'inference', 'specify', 'uncertainty', 'emphasized', 'surface', 'debate', 'alternative', 'viewinnumeracy', 'generally', 'adept', 'audiences', 'literacy', 'numeracythey', 'innumerate', 'communicating', 'attempting', 'mislead', 'misinform', 'deliberately', 'falling', 'factor', 'normalization', 'sizing', 'employed', 'adjusting', 'nominal', 'increases', 'section', 'aboveanalysts', 'scenarios', 'statement', 'recast', 'estimate', 'cash', 'discount', 'similarly', 'effects', 'governments', 'outlays', 'deficits', 'measures', 'predict', 'consumption', 'carried', 'realise', 'heating', 'ventilation', 'air', 'conditioning', 'lighting', 'realised', 'automatically', 'miming', 'optimising', 'articleanalytics', 'explanatory', 'actions', 'subset', 'performanceeducation', 'editanalytic', 'purpose', 'systems', 'counter', 'embedding', 'labels', 'supplemental', 'documentation', 'packagedisplay', 'analysespractitioner', 'contains', 'assist', 'practitioners', 'distinction', 'phase', 'refrains', 'aimed', 'answering', 'original', 'checked', 'assessed', 'frequency', 'counts', 'normality', 'skewness', 'kurtosis', 'histograms', 'schemes', 'external', 'corrected', 'variance', 'analyses', 'conducted', 'phasequality', 'measurement', 'instruments', 'corresponds', 'homogeneity', 'internal', 'consistency', 'indication', 'reliability', 'inspects', 'variances', 'items', 'scales', 'cronbachs', 'α', 'alpha', 'item', 'scaleinitialedit', 'assessing', 'impute', 'phasepossible', 'square', 'root', 'transformation', 'differs', 'moderately', 'normallog', 'substantially', 'normalinverse', 'severely', 'normalmake', 'dichotomous', 'randomization', 'procedure', 'substantive', 'equally', 'distributed', 'groupsif', 'random', 'subgroups', 'distortions', 'dropout', 'phaseitem', 'nonresponse', 'phasetreatment', 'manipulation', 'checks', 'accurately', 'especially', 'subgroup', 'performed', 'atbasic', 'importantand', 'tabulationsfinal', 'findings', 'documented', 'preferable', 'corrective', 'rewritten', 'madein', 'normalsshould', 'transform', 'categoricaladapt', 'methodin', 'datashould', 'neglect', 'imputation', 'usedin', 'outliersshould', 'techniquesin', 'omitting', 'comparability', 'instrumentsin', 'drop', 'inter', 'differences', 'bootstrapping', 'defective', 'calculate', 'propensity', 'scores', 'covariates', 'analysesanalysis', 'univariate', 'associations', 'plots', 'account', 'andloglinear', 'restricted', 'ofanalysis', 'confounders', 'continuous', 'm', 'sd', 'kurtosisstem', 'displaysbox', 'plotsnonlinear', 'recorded', 'exhibit', 'bifurcationschaosharmonics', 'subharmonics', 'simple', 'linear', 'identification', 'draft', 'reportexploratory', 'adopted', 'analysing', 'searched', 'interpreted', 'adjust', 'significance', 'bonferroni', 'correction', 'dataset', 'simply', 'resulted', 'analysisstability', 'generalizable', 'reproducible', 'validationby', 'splitting', 'fitted', 'generalizes', 'sensitivity', 'analysisa', 'parameters', 'systematically', 'varied', 'brief', 'modela', 'widely', 't', 'testanovaancovamanova', 'usable', 'predictors', 'generalized', 'modelan', 'extension', 'discrete', 'modellingusable', 'latent', 'manifest', 'response', 'theorymodels', 'binary', 'exam', 'editdevinfoa', 'database', 'endorsed', 'nations', 'elkidata', 'knimethe', 'konstanz', 'miner', 'comprehensive', 'orangea', 'visual', 'featuringvisualization', 'pastfree', 'scientific', 'pawfortranc', 'cern', 'ra', 'computing', 'graphics', 'cdata', 'scipy', 'pandaspython', 'libraries', 'researchers', 'utilize', 'followskaggle', 'held', 'kaggleltpp', 'contest', 'fhwa', 'asce', 'editstatistics', 'portal', 'actuarial', 'censoring', 'computational', 'physics', 'acquisition', 'blending', 'governance', 'presentation', 'signal', 'dimension', 'reduction', 'assessment', 'fourier', 'multilinear', 'pca', 'subspace', 'multiway', 'nearest', 'neighbor', 'wavelet', 'edit^exploring', '^', 'abc', 'judd', 'charles', 'mccleland', 'gary', 'analysisharcourt', 'brace', 'jovanovich', 'isbn', 'citecitation', 'codecs', 'lock', 'amw', 'registration', 'subscription', 'subscriptionmw', 'spanmw', 'hidden', 'visible', 'registrationmw', 'kern', 'leftmw', 'wl', 'rightmw', '^john', 'abcdefg', 'schutt', 'scienceoreilly', '^clean', 'crm', 'generate', 'retrieved', 'july^', 'retrievedoctober', 'perceptual', 'edge', 'february', '^hellerstein', 'joseph', 'februaryquantitative', 'databasespdfeecs', 'division', 'retrievedoctober^stephen', 'selecting', 'graph', '^behrens', 'psychological', 'association', '^grandjean', 'martinla', 'connaissance', 'est', 'réseaupdfles', 'cahiers', 'du', 'numériquedoilcn', '^stephen', 'selection', 'matrix^', 'robert', 'amar', 'james', 'eagan', 'staskolow', 'activity', 'visualization^', 'william', 'newmana', 'preliminary', 'hci', 'pro', 'abstracts^', 'mary', 'shawwhat', 'abcontaas', 'efficient', 'applicationsscholarspace', 'hicss', 'economic', 'outlook', 'pdfretrieved^', 'introductionciagov', '^bloomberg', 'barry', 'ritholz', 'math', 'passes', '^gonzález', 'vidal', 'aurora', 'moreno', 'cano', 'victoria', 'efficiency', 'intelligent', 'procedia', 'elsevier', 'doijprocs', '^davenport', 'thomas', 'jeanne', 'competing', 'analyticsoreilly', 'aarons', 'dreport', 'finds', 'pupil', 'rankin', 'j', 'marchhow', 'fight', 'propagate', 'epidemic', 'educator', 'leadership', 'tical', 'summit^adèr', '^adèr', 'pp^adèr', 'tabachnick', 'fidell', 'pp^', 'billings', 'sa', 'narmax', 'spatio', 'temporal', 'wiley^adèr', 'higgssymmetry', 'magazine', 'retrievedjanuary^nehme', 'jean', 'ltpp', 'highway', 'datagov', 'pavement', 'novemberbibliography', 'adèr', 'herman', 'chapterphases', 'jmellenbergh', 'gideon', 'advising', 'companionhuizen', 'netherlands', 'johannes', 'van', 'kessel', 'pub', 'pp', 'oclcadèr', 'chapterthe', 'oclc', 'bg', 'ls', 'chaptercleaning', 'act', 'screening', 'eds', 'multivariate', 'fifth', 'edition', 'pearson', 'allyn', 'bacon', 'wikiversity', 'hjampmellenbergh', 'gj', 'contributions', 'dj', 'handadvising', 'companion', 'huizen', 'cleveland', 'kleiner', 'paul', 'agraphical', 'analysispressisbn', 'fandango', 'armandopython', 'packt', 'godfrey', 'blantonjurans', 'handbook', 'mcgraw', 'hillisbn', 'lewis', 'beck', 'michael', 'sdata', 'sage', 'publications', 'incisbnnistsematech', 'pyzdek', 'tquality', 'richard', 'veryard', 'pragmatic', 'oxford', 'blackwell', 'lsusing', 'baconisbn', 'authority', 'gnd', 'vte', 'archaeology', 'cleansing', 'compression', 'corruption', 'curation', 'degradation', 'editing', 'farming', 'fusion', 'integrity', 'library', 'loss', 'migration', 'preservation', 'protection', 'recovery', 'retention', 'scraping', 'scrubbing', 'stewardship', 'warehouse', '<', 'newpp', 'parsed', 'cached', 'timecache', 'expirydynamic', 'cpu', 'usageseconds', 'preprocessor', 'node', 'countpreprocessor', 'countpost‐expand', 'sizebytes', 'template', 'argument', 'depthexpensive', 'countunstrip', 'recursion', 'depthunstrip', 'post‐expand', 'wikibase', 'entities', 'loadedlua', 'lua', 'usagemb', 'mb>', '', ' 0, numbers))\n", + "\n", + "for num in numbers:\n", + " if num > 0:\n", + " list_2.append(num)\n", + " \n", + "\n", + "# Enter your code below\n", + "\n", + "print(list_2)\n", + "print(list_3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, use `reduce` and `lambda` to return a string that only contains English terms. The English terms are separated with a whitespace ` `.\n", + "\n", + "Hints: \n", + "\n", + "* If your Jupyter Notebook cannot import `langdetect`, you need to install it with `pip install langdetect`. If Jupyter Notebook still cannot find the library, try install with `python3 -m pip install langdetect`. This is because you need to install `langdetect` in the same Python run environment where Jupyter Notebook is running.\n", + "\n", + "* If a word is English, `langdetect.detect(word)=='en'` will return `True`.\n", + "\n", + "Your output should read:\n", + "\n", + "```'good morning everyone'```" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['good morning', 'everyone']\n", + "['good morning', 'everyone']\n", + "('good morning', 'everyone')\n" + ] + } + ], + "source": [ + "import langdetect\n", + "from functools import reduce\n", + "words = ['good morning', '早上好', 'доброго', 'おはようございます', 'everyone', '大家', 'каждый', 'みんな']\n", + "word_list =[]\n", + "list_4=[]\n", + "list_5=[]\n", + "# Enter your code below\n", + "\n", + "#list_4 = list(reduce(lambda num: num > 0, words))\n", + "\n", + "for word in words:\n", + " if langdetect.detect(word)=='en':\n", + " word_list.append(word)\n", + " \n", + "print(word_list)\n", + "\n", + "list_4 = list(filter(lambda word: langdetect.detect(word)=='en', words))\n", + "print(list_4)\n", + "\n", + "f= lambda a, b: a if langdetect.detect(a)=='en' else a\n", + "f2= lambda a, b: a if langdetect.detect(a)=='en' else b\n", + "list_5= (reduce(f,words) , reduce(f2,words))\n", + "#list_5 = reduce(lambda x, word: word if (langdetect.detect(word)=='en'), words)\n", + "print(list_5)\n", + "\n", + "#product = reduce((lambda x, y: x * y), [1, 2, 3, 4])\n", + "\n", + "#from functools import reduce\n", + "#f = lambda a,b: a if (a > b) else b\n", + "#reduce(f, [47,11,42,102,13])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Bonus Question" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, if you still have time, convert your response in Q2 by using `lambda`, `map`, `filter`, or `reduce` where applicable. Enter your function in the cell below.\n", + "\n", + "As you write Python functions, generally you don't want to make your function too long. Long functions are difficult to read and difficult to debug. If a function is getting too long, consider breaking it into sever shorter functions where the main function calls other functions. If anything goes wrong, you can output debug messages in each of the functions to check where exactly the error is." + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [], + "source": [ + "# Enter your code below" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Test your function below with the Bag of Words lab docs (it's easier for you to debug your code). Your output should be:\n", + "\n", + "```{'bag_of_words': ['ironhack', 'cool', 'love', 'student'], 'term_freq': [[1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]]}```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.feature_extraction import stop_words\n", + "bow = get_bow_from_docs([\n", + " '../../lab-bag-of-words/your-code/doc1.txt', \n", + " '../../lab-bag-of-words/your-code/doc2.txt', \n", + " '../../lab-bag-of-words/your-code/doc3.txt'],\n", + " stop_words.ENGLISH_STOP_WORDS\n", + ")\n", + "\n", + "print(bow)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "zsh:1: command not found: conda\r\n" + ] + } + ], + "source": [ + "! conda install -c conda-forge langdetect" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lab-functional-programming/your-code/.ipynb_checkpoints/main-checkpoint.ipynb b/lab-functional-programming/your-code/.ipynb_checkpoints/main-checkpoint.ipynb new file mode 100644 index 0000000..d87b149 --- /dev/null +++ b/lab-functional-programming/your-code/.ipynb_checkpoints/main-checkpoint.ipynb @@ -0,0 +1,464 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Before your start:\n", + "- Read the README.md file\n", + "- Comment as much as you can and use the resources in the README.md file\n", + "- Happy learning!" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Challenge 1 - Iterators, Generators and `yield`. \n", + "\n", + "In iterator in Python is an object that represents a stream of data. However, iterators contain a countable number of values. We traverse through the iterator and return one value at a time. All iterators support a `next` function that allows us to traverse through the iterator. We can create an iterator using the `iter` function that comes with the base package of Python. Below is an example of an iterator." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n" + ] + } + ], + "source": [ + "# We first define our iterator:\n", + "\n", + "iterator = iter([1,2,3])\n", + "\n", + "# We can now iterate through the object using the next function\n", + "\n", + "print(next(iterator))" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2\n" + ] + } + ], + "source": [ + "# We continue to iterate through the iterator.\n", + "\n", + "print(next(iterator))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3\n" + ] + } + ], + "source": [ + "print(next(iterator))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "ename": "StopIteration", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mStopIteration\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 1\u001b[0m \u001b[1;31m# After we have iterated through all elements, we will get a StopIteration Error\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnext\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0miterator\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mStopIteration\u001b[0m: " + ] + } + ], + "source": [ + "# After we have iterated through all elements, we will get a StopIteration Error\n", + "\n", + "print(next(iterator))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "3\n" + ] + } + ], + "source": [ + "# We can also iterate through an iterator using a for loop like this:\n", + "# Note: we cannot go back directly in an iterator once we have traversed through the elements. \n", + "# This is why we are redefining the iterator below\n", + "\n", + "iterator = iter([1,2,3])\n", + "\n", + "for i in iterator:\n", + " print(i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the cell below, write a function that takes an iterator and returns the first element in the iterator and returns the first element in the iterator that is divisible by 2. Assume that all iterators contain only numeric data. If we have not found a single element that is divisible by 2, return zero." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def divisible2(iterator):\n", + " # This function takes an iterable and returns the first element that is divisible by 2 and zero otherwise\n", + " # Input: Iterable\n", + " # Output: Integer\n", + " \n", + " # Sample Input: iter([1,2,3])\n", + " # Sample Output: 2\n", + " \n", + " # Your code here:\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Generators\n", + "\n", + "It is quite difficult to create your own iterator since you would have to implement a `next` function. Generators are functions that enable us to create iterators. The difference between a function and a generator is that instead of using `return`, we use `yield`. For example, below we have a function that returns an iterator containing the numbers 0 through n:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "def firstn(n):\n", + " number = 0\n", + " while number < n:\n", + " yield number\n", + " number = number + 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we pass 5 to the function, we will see that we have a iterator containing the numbers 0 through 4." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "1\n", + "2\n", + "3\n", + "4\n" + ] + } + ], + "source": [ + "iterator = firstn(5)\n", + "\n", + "for i in iterator:\n", + " print(i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the cell below, create a generator that takes a number and returns an iterator containing all even numbers between 0 and the number you passed to the generator." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "def even_iterator(n):\n", + " # This function produces an iterator containing all even numbers between 0 and n\n", + " # Input: integer\n", + " # Output: iterator\n", + " \n", + " # Sample Input: 5\n", + " # Sample Output: iter([0, 2, 4])\n", + " \n", + " # Your code here:\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Challenge 2 - Applying Functions to DataFrames\n", + "\n", + "In this challenge, we will look at how to transform cells or entire columns at once.\n", + "\n", + "First, let's load a dataset. We will download the famous Iris classification dataset in the cell below." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "columns = ['sepal_length', 'sepal_width', 'petal_length','petal_width','iris_type']\n", + "iris = pd.read_csv(\"https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data\", names=columns)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's look at the dataset using the `head` function." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# Your code here:\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's start off by using built-in functions. Try to apply the numpy mean function and describe what happens in the comments of the code." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# Your code here:\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we'll apply the standard deviation function in numpy (`np.std`). Describe what happened in the comments." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# Your code here:\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The measurements are in centimeters. Let's convert them all to inches. First, we will create a dataframe that contains only the numeric columns. Assign this new dataframe to `iris_numeric`." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# Your code here:\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will write a function that converts centimeters to inches in the cell below. Recall that 1cm = 0.393701in." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "def cm_to_in(x):\n", + " # This function takes in a numeric value in centimeters and converts it to inches\n", + " # Input: numeric value\n", + " # Output: float\n", + " \n", + " # Sample Input: 1.0\n", + " # Sample Output: 0.393701\n", + " \n", + " # Your code here:\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now convert all columns in `iris_numeric` to inches in the cell below. We like to think of functional transformations as immutable. Therefore, save the transformed data in a dataframe called `iris_inch`." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# Your code here:\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have just found that the original measurements were off by a constant. Define the global constant `error` and set it to 2. Write a function that uses the global constant and adds it to each cell in the dataframe. Apply this function to `iris_numeric` and save the result in `iris_constant`." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "# Define constant below:\n", + "\n", + "\n", + "def add_constant(x):\n", + " # This function adds a global constant to our input.\n", + " # Input: numeric value\n", + " # Output: numeric value\n", + " \n", + " # Your code here:\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Bonus Challenge - Applying Functions to Columns\n", + "\n", + "Read more about applying functions to either rows or columns [here](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.apply.html) and write a function that computes the maximum value for each row of `iris_numeric`" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "# Your code here:\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute the combined lengths for each row and the combined widths for each row using a function. Assign these values to new columns `total_length` and `total_width`." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "# Your code here:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lab-functional-programming/your-code/Learning.ipynb b/lab-functional-programming/your-code/Learning.ipynb index 8ba1d7f..d5840ac 100644 --- a/lab-functional-programming/your-code/Learning.ipynb +++ b/lab-functional-programming/your-code/Learning.ipynb @@ -288,7 +288,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -302,7 +302,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.2" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/lab-functional-programming/your-code/Q1.ipynb b/lab-functional-programming/your-code/Q1.ipynb index 8b07d3d..e787650 100644 --- a/lab-functional-programming/your-code/Q1.ipynb +++ b/lab-functional-programming/your-code/Q1.ipynb @@ -19,23 +19,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 87, "metadata": {}, "outputs": [], "source": [ - "# Import required libraries\n", "\n", + "# Import required libraries\n", + "import numpy as np\n", + "import pandas as pd\n", "# Define function\n", "def get_bow_from_docs(docs, stop_words=[]):\n", " \n", " # In the function, first define the variables you will use such as `corpus`, `bag_of_words`, and `term_freq`.\n", " \n", - " \n", - " \n", " \"\"\"\n", " Loop `docs` and read the content of each doc into a string in `corpus`.\n", " Remember to convert the doc content to lowercases and remove punctuation.\n", " \"\"\"\n", + " corpus=[]\n", + " for doc in docs:\n", + " corpus.append((open(doc,'r')).read())\n", + " \n", + "\n", + " corpus = [x.strip('\\n').strip('.').lower() for x in corpus]\n", + "\n", + " \n", + "\n", "\n", " \n", " \n", @@ -45,6 +54,13 @@ " In addition, check if each term is in the `stop_words` array. Only append the term to `bag_of_words`\n", " if it is not a stop word.\n", " \"\"\"\n", + " bag_of_words = [] \n", + " for frace in corpus:\n", + " for word in frace.split():\n", + " if word not in bag_of_words:\n", + " if word not in stop_words:\n", + " bag_of_words.append(word)\n", + " \n", "\n", " \n", " \n", @@ -53,6 +69,19 @@ " Loop `corpus` again. For each doc string, count the number of occurrences of each term in `bag_of_words`. \n", " Create an array for each doc's term frequency and append it to `term_freq`.\n", " \"\"\"\n", + " term_freq =[]\n", + "\n", + " for fraces in corpus:\n", + " \n", + " lista =[]\n", + " words = fraces.split()\n", + " \n", + " for word in bag_of_words:\n", + " lista.append(words.count(word))\n", + " \n", + " term_freq.append(lista)\n", + "\n", + "\n", "\n", " \n", " \n", @@ -61,6 +90,12 @@ " \"bag_of_words\": bag_of_words,\n", " \"term_freq\": term_freq\n", " }\n", + "\n", + "#docs = ['doc1.txt','doc2.txt','doc3.txt']\n", + "\n", + "#prueba1= get_bow_from_docs(docs)\n", + "\n", + "#print(prueba1)\n", " " ] }, @@ -75,12 +110,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 88, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'bag_of_words': ['ironhack', 'is', 'cool', 'i', 'love', 'am', 'a', 'student', 'at'], 'term_freq': [[1, 1, 1, 0, 0, 0, 0, 0, 0], [1, 0, 0, 1, 1, 0, 0, 0, 0], [1, 0, 0, 1, 0, 1, 1, 1, 1]]}\n" + ] + } + ], "source": [ "# Define doc paths array\n", - "docs = []\n", + "docs = ['doc1.txt','doc2.txt','doc3.txt']\n", "\n", "# Obtain BoW from your function\n", "bow = get_bow_from_docs(docs)\n", @@ -100,14 +143,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 89, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "frozenset({'none', 'her', 'somehow', 'thereby', 'show', 'amoungst', 'still', 'never', 'whom', 'neither', 'am', 'elsewhere', 'bottom', 'con', 'if', 'beside', 'any', 'put', 'becomes', 'perhaps', 'but', 'until', 'among', 'move', 'itself', 'fire', 'everything', 'what', 'therefore', 'anyone', 'forty', 'herself', 'cannot', 'in', 'back', 'sincere', 'was', 'the', 'himself', 'hers', 'latter', 'six', 'afterwards', 'ltd', 'anyhow', 'nine', 'already', 'along', 'might', 'to', 'former', 'now', 'besides', 'those', 'two', 'mill', 'such', 'fifteen', 'were', 'through', 'his', 'against', 'few', 'a', 'hence', 'cry', 'system', 'nowhere', 'out', 'most', 'we', 'should', 'when', 'can', 'ie', 'around', 'on', 'however', 'first', 'less', 'five', 'its', 'every', 'together', 'because', 'same', 'rather', 'enough', 'un', 'fifty', 'without', 'yet', 'except', 'yourselves', 'go', 'that', 'find', 'noone', 'else', 'thus', 'whenever', 'someone', 'other', 'why', 'so', 'indeed', 'least', 'is', 'call', 'serious', 'yours', 'though', 'somewhere', 'have', 'thru', 'towards', 'being', 'fill', 'whence', 'eg', 'almost', 'via', 'beforehand', 'seemed', 'moreover', 'she', 'amount', 'behind', 'with', 'seems', 'keep', 'whatever', 'very', 'within', 'everyone', 'i', 'hereby', 'it', 'since', 'will', 'ever', 'detail', 'must', 'wherever', 'meanwhile', 'made', 'which', 'alone', 'bill', 'much', 'could', 'how', 'empty', 'twenty', 'full', 'where', 'their', 'you', 'sometime', 'hereupon', 'these', 'inc', 'an', 'below', 'one', 'thereupon', 'us', 'twelve', 'yourself', 'no', 'under', 'please', 'nevertheless', 'anyway', 'always', 'hasnt', 'my', 'would', 'others', 'by', 'he', 'each', 'off', 'seem', 'into', 'your', 'ten', 'also', 'anywhere', 'thence', 'ours', 'further', 'all', 'before', 'hereafter', 'whither', 'this', 'top', 'well', 'themselves', 'whoever', 'own', 'sometimes', 'who', 'although', 'mine', 'de', 'or', 'give', 'even', 'him', 'while', 'been', 'ourselves', 'become', 'only', 'at', 'and', 'due', 'thereafter', 'for', 'everywhere', 'me', 'cant', 'above', 'here', 're', 'do', 'whereby', 'than', 'sixty', 'has', 'many', 'couldnt', 'our', 'nobody', 'name', 'not', 'as', 'mostly', 'they', 'them', 'more', 'upon', 'thin', 'get', 'across', 'three', 'over', 'front', 'either', 'becoming', 'wherein', 'after', 'during', 'anything', 'etc', 'whereafter', 'eight', 'whole', 'describe', 'interest', 'otherwise', 'then', 'nothing', 'from', 'up', 'another', 'whereupon', 'are', 'once', 'several', 'third', 'amongst', 'take', 'about', 'between', 'beyond', 'thick', 'something', 'of', 'onto', 'done', 'down', 'hundred', 'often', 'namely', 'both', 'herein', 'throughout', 'seeming', 'latterly', 'last', 'found', 'there', 'became', 'too', 'co', 'eleven', 'side', 'had', 'formerly', 'therein', 'toward', 'per', 'see', 'whose', 'four', 'may', 'whether', 'be', 'next', 'some', 'myself', 'again', 'whereas', 'part', 'nor'})\n" + ] + } + ], "source": [ - "from sklearn.feature_extraction import stop_words\n", - "print(stop_words.ENGLISH_STOP_WORDS)" + "from sklearn.feature_extraction import _stop_words\n", + "print(_stop_words.ENGLISH_STOP_WORDS)" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -128,11 +186,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 90, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'bag_of_words': ['ironhack', 'cool', 'love', 'student'], 'term_freq': [[1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]]}\n" + ] + } + ], "source": [ - "bow = get_bow_from_docs(bow, stop_words.ENGLISH_STOP_WORDS)\n", + "docs = ['doc1.txt','doc2.txt','doc3.txt']\n", + "bow = get_bow_from_docs(docs, _stop_words.ENGLISH_STOP_WORDS)\n", "\n", "print(bow)" ] @@ -156,7 +223,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -170,7 +237,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.6" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/lab-functional-programming/your-code/Q2.ipynb b/lab-functional-programming/your-code/Q2.ipynb index f50f442..f8fdb55 100644 --- a/lab-functional-programming/your-code/Q2.ipynb +++ b/lab-functional-programming/your-code/Q2.ipynb @@ -15,12 +15,71 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 167, "metadata": {}, "outputs": [], "source": [ "# Define your string handling functions below\n", - "# Minimal 3 functions\n" + "# Import required libraries\n", + "import numpy as np\n", + "import pandas as pd\n", + "import re\n", + "# Minimal 3 functions\n", + "\n", + "def to_lower_case(corpus):\n", + " corpus = [x.lower() for x in corpus]\n", + " return corpus\n", + "\n", + "\n", + "def strip_html_tags(corpus):\n", + "#print(corpus) \n", + " cleanr = re.compile('<.*?>') #ELIMINA LOS TAG DE HTML\n", + " corpus = [re.sub(cleanr,' ',x) for x in corpus] \n", + " #https://www.codegrepper.com/code-examples/html/regex+to+remove+html+tags+python\n", + " #cleantext = re.sub(cleanr, '', corpus)\n", + "\n", + " #eliminar tag de java {}\n", + " corpus = [re.sub('\\n',' ',x) for x in corpus] #\n", + " corpus = [re.sub('\\{.*?\\}',' ',x) for x in corpus] #\n", + " #corpus = [re.sub('/.*?/','',x) for x in corpus] #\n", + " #corpus = [re.sub(r'[?|$|.|!]','',x) for x in corpus] #\n", + " #corpus = [re.sub(r'[^a-zA-Z0-9 ]','',x) for x in corpus] #\n", + " #corpus = [re.sub(r'[?|$|.|!]','',x) for x in corpus] #\n", + " return corpus\n", + "\n", + "def remove_punctuation(corpus):\n", + " corpus = [re.sub('/',\"\",x) for x in corpus] #\n", + " corpus = [re.sub(' ',\"\",x) for x in corpus] #\n", + " corpus = [re.sub('\\.',\"\",x) for x in corpus] #\n", + " corpus = [re.sub('\\|',\"\",x) for x in corpus] #\n", + " corpus = [re.sub('_',\"\",x) for x in corpus] #\n", + " corpus = [re.sub('[?|$|.|!]','',x) for x in corpus] #\n", + " corpus = [re.sub('\\\"','',x) for x in corpus] #\n", + " corpus = [re.sub(',','',x) for x in corpus] #\n", + " corpus = [re.sub('[\\(|\\)]','',x) for x in corpus] #→\n", + " corpus = [re.sub('[#|&|€|;|:|\\+]',' ',x) for x in corpus] #→\n", + " corpus = [re.sub('→',' ',x) for x in corpus] #→\n", + " corpus = [re.sub('-',' ',x) for x in corpus] #→\n", + " corpus = [re.sub('\\d+','',x) for x in corpus] #→\n", + " corpus = [re.sub('[\\}|\\{]','',x) for x in corpus] #→\n", + " corpus = [re.sub('=','',x) for x in corpus] #→\n", + " corpus = [re.sub('[a-z]{15,}','',x) for x in corpus] #→\n", + " corpus = [re.sub(' ',\"\",x) for x in corpus] #\n", + " corpus = [re.sub('\\'',\"\",x) for x in corpus] #•%\n", + " corpus = [re.sub('•|%',\"\",x) for x in corpus] #•%\n", + " corpus = [re.sub('[’|“]',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('–',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('\\”',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('[\\[|\\]]',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('\\w+@\\w+',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('@\\w+',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('\\w+@',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub('\\t',\"\",x) for x in corpus] #•%–\n", + " corpus = [re.sub(' ',\"\",x) for x in corpus] #\n", + " return corpus\n", + "\n", + "\n", + "\n" ] }, { @@ -32,18 +91,74 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 171, "metadata": {}, "outputs": [], "source": [ + "# Import required libraries\n", + "import numpy as np\n", + "import pandas as pd\n", + "# Define function\n", "def get_bow_from_docs(docs, stop_words=[]):\n", + " \n", " # In the function, first define the variables you will use such as `corpus`, `bag_of_words`, and `term_freq`.\n", - " corpus = []\n", - " bag_of_words = []\n", - " term_freq = []\n", " \n", - " # write your codes here\n", + " \"\"\"\n", + " Loop `docs` and read the content of each doc into a string in `corpus`.\n", + " Remember to convert the doc content to lowercases and remove punctuation.\n", + " \"\"\"\n", + " corpus=[]\n", + " for doc in docs:\n", + " corpus.append((open(doc,'r')).read())\n", " \n", + "\n", + " corpus = to_lower_case(corpus)\n", + " corpus = strip_html_tags(corpus)\n", + " corpus = remove_punctuation(corpus)\n", + "\n", + " \n", + "\n", + "\n", + " \n", + " \n", + " \"\"\"\n", + " Loop `corpus`. Append the terms in each doc into the `bag_of_words` array. The terms in `bag_of_words` \n", + " should be unique which means before adding each term you need to check if it's already added to the array.\n", + " In addition, check if each term is in the `stop_words` array. Only append the term to `bag_of_words`\n", + " if it is not a stop word.\n", + " \"\"\"\n", + " bag_of_words = [] \n", + " for frace in corpus:\n", + " for word in frace.split():\n", + " if word not in bag_of_words:\n", + " if word not in stop_words:\n", + " bag_of_words.append(word)\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \"\"\"\n", + " Loop `corpus` again. For each doc string, count the number of occurrences of each term in `bag_of_words`. \n", + " Create an array for each doc's term frequency and append it to `term_freq`.\n", + " \"\"\"\n", + " term_freq =[]\n", + "\n", + " for fraces in corpus:\n", + " \n", + " lista =[]\n", + " words = fraces.split()\n", + " \n", + " for word in bag_of_words:\n", + " lista.append(words.count(word))\n", + " \n", + " term_freq.append(lista)\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " # Now return your output as an object\n", " return {\n", " \"bag_of_words\": bag_of_words,\n", " \"term_freq\": term_freq\n", @@ -60,17 +175,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 170, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'bag_of_words': ['ironhack', 'reviews', 'course', 'reporttry', 'catche', 'toggle', 'navigation', 'browse', 'schools', 'stack', 'web', 'development', 'mobile', 'end', 'data', 'science', 'ux', 'design', 'digital', 'marketing', 'product', 'management', 'security', 'otherblog', 'advice', 'ultimate', 'guide', 'choosing', 'school', 'best', 'coding', 'bootcamps', 'uiux', 'review', 'sign', 'inironhack', 'amsterdam', 'barcelona', 'berlin', 'madrid', 'mexico', 'city', 'miami', 'paris', 'sao', 'pauloavg', 'rating', 'reviewsabout', 'courses', 'news', 'contact', 'alex', 'williams', 'week', 'time', 'uxui', 'bootcamp', 'florida', 'spain', 'france', 'germany', 'uses', 'customized', 'approach', 'education', 'allowing', 'students', 'shape', 'experience', 'based', 'personal', 'goals', 'admissions', 'process', 'includes', 'submitting', 'written', 'application', 'interview', 'technical', 'graduate', 'skilled', 'technologies', 'like', 'javascript', 'html', 'css', 'program', 'covers', 'thinking', 'photoshop', 'sketch', 'balsamiq', 'invision', 'help', 'navigating', 'career', 'prep', 'enhancing', 'brand', 'presence', 'networking', 'opportunities', 'chance', 'delve', 'tech', 'community', 'events', 'workshops', 'meetups', 'graduates', 'extensive', 'global', 'network', 'alumni', 'partner', 'companies', 'positioned', 'job', 'developer', 'designer', 'graduation', 'access', 'services', 'prepare', 'search', 'facilitating', 'interviews', 'citys', 'local', 'ratingfrom', 'nurse', 'monthsrecomendable', 'fun', 'great', 'recent', 'webinar', 'dafne', 'land', 'read', 'articles', 'ironhackcourses', 'analytics', 'timeapply', 'mysqldata', 'sciencegitrpythonmachine', 'learningdata', 'structures', 'person', 'start', 'date', 'scheduled', 'cost', 'na', 'class', 'size', 'locationmadrid', 'enables', 'fledged', 'analyst', 'weeks', 'develop', 'practical', 'skills', 'useful', 'industryramp', 'pre', 'work', 'learn', 'intermediate', 'topics', 'using', 'pandas', 'engineering', 'create', 'real', 'datasets', 'youll', 'use', 'python', 'business', 'intelligence', 'doing', 'projects', 'combining', 'programming', 'ironhacks', 'meant', 'secure', 'spot', 'industry', 'important', 'skill', 'away', 'ability', 'technology', 'fast', 'moving', 'changing', 'getting', 'inminimum', 'level', 'basic', 'knowledge', 'hours', 'online', 'content', 'complete', 'order', 'reach', 'required', 'module', 'placement', 'test', 'yes', 'htmluser', 'designcss', 'timehoursweekweeks', 'january', 'locationmiami', 'immersive', 'catered', 'beginners', 'previous', 'taught', 'fundamentals', 'user', 'centered', 'validate', 'ideas', 'research', 'rapid', 'prototyping', 'amp', 'heuristic', 'evaluation', 'capstone', 'project', 'new', 'idea', 'validation', 'launchby', 'ready', 'freelance', 'turbo', 'charge', 'current', 'professional', 'trajectory', 'self', 'guided', 'understand', 'concepts', 'make', 'works', 'flinto', 'designproduct', 'managementuser', 'november', 'meets', 'tuesdays', 'thursdays', 'saturdays', 'additional', 'coursework', 'period', 'months', 'trajectoryor', 'mxn', 'financing', 'options', 'available*', 'competitive', 'rates', 'fundclimb', 'credit', 'algorithms', 'notions', 'object', 'oriented', 'begins', 'october', 'namiami', 'build', 'applications', 'big', 'emphasis', 'battle', 'tested', 'patterns', 'practices', 'evaluate', 'problem', 'select', 'optimal', 'solution', 'suited', 'scope', 'addition', 'train', 'think', 'programmer', 'deconstruct', 'complex', 'problems', 'break', 'smaller', 'modules', 'good', 'general', 'understanding', 'various', 'languages', 'understands', 'fundamental', 'structure', 'possesses', 'language', 'monthly', 'instalments', 'available', 'quotanda', 'scholarshipscholarship', 'women', 'dates', 'march', 'apply', 'angularjsmongodbhtmljavascriptexpressjsnodejsfront', 'write', 'reviewreviews', 'sorted', 'bydefault', 'sortdefault', 'sort', 'helpful', 'filtered', 'byall', 'reviewsall', 'anonymous', 'guidelinesonly', 'applicants', 'permitted', 'leave', 'report', 'post', 'clear', 'valuable', 'honest', 'information', 'informative', 'future', 'bootcampers', 'excelled', 'better', 'nice', 'dont', 'attack', 'grammar', 'check', 'spelling', 'behalf', 'impersonate', 'falsely', 'state', 'misrepresent', 'affiliation', 'entity', 'spam', 'fake', 'intended', 'boost', 'lower', 'ratings', 'link', 'sexually', 'explicit', 'abusive', 'hateful', 'threatens', 'harasses', 'submit', 'duplicate', 'multiple', 'deleted', 'email', 'moderators', 'revise', 'click', 'receive', 'note', 'reserve', 'right', 'remove', 'commentary', 'violates', 'policiesyou', 'log', 'reviewclick', 'nbsp', 'continue', 'hey', 'hack', 'reactor', 'graduated', 'prior', 'titletitleoverall', 'curriculuminstructors', 'assistance', 'applicable', 'details', 'campusselectpauloother', 'courseselect', 'graduationgraduation', 'year', 'younamereview', 'anonymouslynon', 'verified', 'trustworthy', 'shown', 'readers', 'reviewer', 'title', 'ironhackfrom', 'maria', 'luisa', 'campus', 'linkedin', 'monthsoverall', 'wanted', 'turn', 'life', 'liked', 'maybe', 'fear', 'did', 'luckily', 'got', 'changed', 'methodology', 'way', 'teaching', 'makes', 'record', 'recommend', 'doubt', 'helpfulflag', 'inappropriate', 'recomendable', 'nicolae', 'alexe', 'iam', 'senior', 'student', 'computer', 'degree', 'iwas', 'feeling', 'missing', 'academic', 'heard', 'knew', 'needed', 'completely', 'day', 'atmosphere', 'amazing', 'lead', 'teacher', 'learning', 'key', 'elements', 'tas', 'supports', 'ironhackfun', 'gabriel', 'cebrián', 'lucas', 'graduatecourse', 'timecampus', 'github', 'afteroverall', 'came', 'look', 'loved', 'studied', 'learnt', 'somwthing', 'really', 'recomend', 'jacob', 'casado', 'pérez', 'junior', 'fullstack', 'september', 'going', 'music', 'linking', 'change', 'blink', 'eye', 'decided', 'world', 'reason', 'ironhacki', 'background', 'desire', 'improve', 'little', 'grew', 'able', 'overcome', 'challenges', 'thought', 'possible', 'enormous', 'support', 'assistants', 'colleges', 'friends', 'difficult', 'ironhacknew', 'esperanza', 'total', 'totally', 'possibilities', 'disciplines', 'challenge', 'absolutely', 'repeat', 'quality', 'uncompareablei', 'worked', 'biomedical', 'just', 'looking', 'style', 'doesnt', 'teach', 'code', 'teaches', 'ruben', 'psychology', 'technician', 'assistant', 'intense', 'enriching', 'curve', 'verticle', 'upwards', 'started', 'im', 'amazed', 'know', 'simulates', 'perfectly', 'working', 'environment', 'teams', 'tools', 'resolve', 'virtual', 'profesional', 'atmospherewhen', 'visited', 'tuenti', 'spanish', 'company', 'understood', 'talking', 'helps', 'discover', 'want', 'definetly', 'say', 'coder', 'ironhackabout', 'experince', 'pablo', 'tabaoda', 'ortiz', 'talk', 'completing', 'feel', 'impressed', 'facilities', 'teachers', 'fully', 'recommendation', 'professionals', 'renew', 'people', 'trying', 'ironhackweb', 'dev', 'ricardo', 'alonzo', 'devoverall', 'perfect', 'opens', 'doors', 'trully', 'impresive', 'short', 'ironhackan', 'awesome', 'kickstart', 'carreer', 'jhon', 'scarzo', 'carreeroverall', 'goal', 'basics', 'core', 'provide', 'rounded', 'incentivize', 'ironhackreally', 'cool', 'sara', 'motivated', 'things', 'thanks', 'integrated', 'powerful', 'creating', 'different', 'enjoying', 'disposed', 'processrecommendable', 'ironhackchange', 'yago', 'vega', 'hard', 'word', 'experienced', 'commitment', 'ive', 'met', 'learned', 'glad', 'matter', 'come', 'havent', 'single', 'line', 'decision', 'worth', 'penny', 'angularreact', 'rollercoaster', 'emotions', 'lot', 'today', 'officially', 'wouldnt', 'browsing', 'educational', 'stop', 'trust', 'join', 'ironhackers', 'connected', 'helping', 'everyday', 'incredible', 'diego', 'méndez', 'peño', 'studentcourse', 'coming', 'university', 'exceeded', 'expectations', 'gave', 'prepared', 'enthusiast', 'ironhackhow', 'live', 'teo', 'diaz', 'weeksoverall', 'usual', 'belong', 'family', 'colleagues', 'finishing', 'realized', 'enter', 'guarantee', 'ironhackbest', 'ronald', 'everoverall', 'went', 'traditional', 'ended', 'saw', 'organization', 'cares', 'employees', 'clients', 'run', 'ask', 'attending', 'tell', 'happy', 'included', 'culture', 'established', 'weekly', 'surveys', 'aim', 'gathering', 'feedback', 'regularly', 'shows', 'care', 'highly', 'regarded', 'personalble', 'helpfulguiding', 'financial', 'aid', 'processing', 'jessica', 'instrumental', 'guiding', 'newly', 'registered', 'foot', 'questions', 'answered', 'prework', 'free', 'standing', 'david', 'karen', 'lum', 'strong', 'instructors', 'progress', 'continuing', 'journey', 'unavoidable', 'topping', 'daniel', 'brito', 'maniacal', 'drive', 'grads', 'necessary', 'employment', 'resources', 'expect', 'fail', 'ironhacka', 'unique', 'oportunity', 'montserrat', 'monroy', 'trip', 'area', 'option', 'abilities', 'materialize', 'solve', 'coordinated', 'effort', 'accompanying', 'sharing', 'achievements', 'lived', 'generating', 'gratitude', 'respect', 'accompanied', 'study', 'smile', 'kind', 'words', 'helped', 'processes', 'administrative', 'ironhackgreat', 'fernanda', 'quezada', 'deciding', 'signing', 'researched', 'boot', 'camps', 'curriculum', 'attracted', 'latest', 'staff', 'communicative', 'knowledgeable', 'classroom', 'high', 'respectful', 'eager', 'overall', 'impacted', 'growing', 'ironhackmy', 'favorite', 'till', 'salemm', 'nowoverall', 'experiences', 'wrapped', 'sense', 'values', 'worldwide', 'juliet', 'urbina', 'assistancei', 'considered', 'carefully', 'ride', 'regret', 'soonerthe', 'challenging', 'guidance', 'encouragement', 'readily', 'accomplishment', 'essential', 'opened', 'door', 'honestly', 'structured', 'importantly', 'rezola', 'recently', 'completed', 'expand', 'lifestyle', 'fantastic', 'law', 'beginning', 'warned', 'closest', 'relatives', 'encouraged', 'showed', 'huge', 'importance', 'currently', 'living', 'classmates', 'asking', 'times', 'bad', 'touch', 'definetely', 'pleased', 'aspect', 'spend', 'intensively', 'long', 'updated', 'firms', 'requisites', 'mean', 'social', 'speeches', 'enrich', 'appetite', 'joshua', 'matoscampus', 'sooner', 'wished', 'shifted', 'positive', 'small', 'excited', 'holds', 'gaining', 'developers', 'ironhackmost', 'jonathan', 'harris', 'searching', 'stay', 'chose', 'worried', 'reasons', 'easy', 'manage', 'choice', 'case', 'scenario', 'constantly', 'patience', 'felt', 'possibly', 'wasnt', 'super', 'actually', 'pushed', 'limit', 'breaking', 'maximum', 'camp', 'computers', 'eran', 'usha', 'kitchens', 'seemingly', 'enrolled', 'novels', 'areas', 'assitants', 'special', 'relationship', 'fellow', 'seeing', 'confident', 'entering', 'profession', 'hospitality', 'ironhackvery', 'víctor', 'peguero', 'garcía', 'founder', 'leemur', 'app', 'ui', 'improved', 'approached', 'apps', 'years', 'ago', 'designing', 'qualitative', 'improvement', 'experiencefull', 'jose', 'arjona', 'past', 'peaked', 'began', 'taking', 'coursesboot', 'ran', 'dive', 'reviewsratings', 'youre', 'pm', 'including', 'joke', 'invest', 'immediately', 'sent', 'weekrepeat', 'material', 'willing', 'workhelp', 'teacherthe', 'instructor', 'cohort', 'nick', 'downside', 'definitely', 'proficiency', 'subject', 'sandra', 'marcos', 'ian', 'familiar', 'extremely', 'having', 'dedicated', 'struggle', 'theres', 'sure', 'need', 'wont', 'fall', 'tweaking', 'days', 'aside', 'wrong', 'obsolete', 'issues', 'update', 'seen', 'taken', 'steps', 'means', 'seriously', 'brush', 'input', 'rest', 'applied', 'missed', 'beat', 'try', 'owner', 'respond', 'happily', 'hiring', 'fair', 'acquainted', 'man', 'named', 'walks', 'building', 'resume', 'lets', 'attend', 'brings', 'source', 'checking', 'portfolio', 'group', 'showcase', 'youve', 'step', 'event', 'arranges', 'sit', 'introduction', 'eventually', 'didnt', 'ultimately', 'comfortable', 'shouldnt', 'nail', 'eventpeople', 'hired', 'finding', 'placements', 'meetings', 'guides', 'reminds', 'applying', 'slack', 'hunt', 'instantly', 'harder', 'fresh', 'aroundjobs', 'handfuls', 'phone', 'half', 'stopped', 'kept', 'stressful', 'quit', 'conclusion', 'yesyou', 'given', 'hand', 'hold', 'invested', 'fulfilling', 'far', 'disappointed', 'bit', 'tons', 'message', 'gladly', 'answer', 'alexander', 'teodor', 'mazilucampus', 'technological', 'base', 'wonderful', 'struggling', 'exceptional', 'manuel', 'colby', 'adrian', 'trouble', 'bugs', 'lost', 'patient', 'extra', 'mile', 'deeply', 'early', 'weekends', 'spending', 'whiteboard', 'grateful', 'professor', 'alan', 'natural', 'aptitude', 'courteous', 'welcoming', 'running', 'scientists', 'types', 'likely', 'explain', 'ways', 'terms', 'complexity', 'memory', 'expected', 'lessons', 'particularly', 'rewarding', 'knack', 'abstract', 'digestible', 'bits', 'collectively', 'attempt', '*protip*', 'volunteer', 'presents', 'noticed', 'brave', 'retained', 'walked', 'solid', 'gives', 'marker', 'home', 'house', 'objectives', 'examples', 'force', 'brain', 'reconcile', 'daily', 'basis', 'certainly', 'theyre', 'frustrating', 'counseled', 'counselor', 'earth', 'wisdom', 'share', 'interviewing', 'construct', 'specifically', 'tells', 'accepting', 'offers', 'insight', 'willingness', 'supportive', 'starting', 'thankful', 'humbled', 'opportunity', 'absolute', 'pleasure', 'deal', 'blown', 'hackathon', 'impressive', 'legitimately', 'wish', 'blew', 'mind', 'systematic', 'creativity', 'organized', 'themso', 'wrap', 'wholeheartedly', 'recommended', 'actively', 'participate', 'engaged', 'attitude', 'hellip', 'rsaquolast', 'raquo', 'newsour', 'bootcamplauren', 'stewart', 'york', 'codedesign', 'academy', 'switch', 'careers', 'timebootcampin', 'hour', 'talked', 'panel', 'hear', 'balanced', 'commitments', 'plus', 'audience', 'rewatch', 'reading', 'rarrhow', 'ironhackimogen', 'crispe', 'dipping', 'toes', 'graphic', 'finance', 'olca', 'tried', 'enroll', 'english', 'satisfying', 'ateverisa', 'european', 'consulting', 'firmq', 'awhats', 'path', 'diverse', 'originally', 'austria', 'bachelors', 'multimedia', 'london', 'honolulu', 'video', 'production', 'jobs', 'imagined', 'mba', 'vienna', 'san', 'increase', 'bored', 'figure', 'interested', 'focused', 'internet', 'enjoyed', 'researching', 'philosophical', 'aspects', 'direction', 'heading', 'told', 'sounded', 'intimidating', 'realize', 'thats', 'exactly', 'goes', 'personality', 'love', 'youvetraveleda', 'choose', 'ina', 'differentcity', 'college', 'beginner', 'talented', 'field', 'moved', 'fell', 'confirmed', 'startup', 'scene', 'id', 'flexibility', 'remotely', 'allow', 'genuinely', 'pursuing', 'passing', 'exercises', 'passed', 'accepted', 'tough', 'split', 'pretty', 'doable', 'second', 'final', 'angular', 'framework', 'demanding', 'remember', 'finished', 'quite', 'lectures', 'character', 'frustrations', 'overcoming', 'straight', 'oldest', 'guy', 'late', 's', 'average', 'somebody', 'international', 'europeans', 'latin', 'americans', 'built', 'created', 'game', 'blackjack', 'accomplished', 'capable', 'clueless', 'believe', 'hunting', 'soon', 'guarantees', 'recruiters', 'quick', 'sonia', 'adviser', 'landed', 'milk', 'caring', 'ateverisfor', 'congrats', 'everis', 'contacted', 'active', 'reaching', 'replied', 'office', 'called', 'shortly', 'received', 'offer', 'exhausted', 'graduating', 'took', 'month', 'holidays', 'thereeveris', 'consultancy', 'typescript', 'purely', 'organizations', 'governmental', 'loans', 'team', 'zaragoza', 'manager', 'brussels', 'belgium', 'branches', 'gender', 'covered', 'evolving', 'frameworks', 'provided', 'easily', 'inevitably', 'joined', 'grown', 'independent', 'afraid', 'touching', 'developed', 'passion', 'weird', 'sounds', 'enjoy', 'solving', 'academia', 'regretted', 'trends', 'client', 'implementing', 'logic', 'functions', 'corporation', 'whats', 'biggest', 'roadblock', 'stuck', 'frustrated', 'block', 'logically', 'calm', 'results', 'stayed', 'involved', 'left', 'gotten', 'cohorts', 'weve', 'tight', 'hosts', 'prioritize', 'making', 'aware', 'mental', 'limits', 'stupid', 'master', 'ahead', 'websiteabout', 'author', 'imogen', 'writer', 'producer', 'loves', 'writing', 'journalism', 'newspapers', 'websites', 'england', 'dubai', 'zealand', 'lives', 'brooklyn', 'ny', 'spainlauren', 'ironhackdemand', 'designers', 'limited', 'silicon', 'valley', 'realizing', 'cities', 'known', 'architectural', 'hubs', 'sofía', 'dalponte', 'bootcampin', 'demand', 'outcomes', 'joana', 'cahner', 'supported', 'market', 'hot', 'tips', 'jobcontinue', 'rarrcampus', 'spotlight', 'berlinlauren', 'proving', 'ecosystem', 'campuses', 'launching', 'advantage', 'spoke', 'emea', 'expansion', 'alvaro', 'rojas', 'wework', 'space', 'recruiting', 'lots', 'partners', 'grad', 'coderq', 'strategy', 'strategic', 'startups', 'california', 'embassy', 'los', 'angeles', 'launched', 'venture', 'companys', 'mission', 'stories', 'backgrounds', 'gonzalo', 'manrique', 'founders', 'europe', 'middle', 'eastern', 'africa', 'position', 'brainer', 'pick', 'everybody', 'literate', 'planning', 'require', 'software', 'regardless', 'machines', 'dominate', 'speak', 'perspective', 'easier', 'benefits', 'prospective', 'thing', 'alum', 'role', 'vp', 'ops', 'berriche', 'plan', 'rank', 'according', 'factors', 'determinants', 'success', 'finally', 'clearly', 'set', 'main', 'responsible', 'operations', 'hr', 'setting', 'legal', 'securing', 'dream', 'tailor', 'customer', 'segments', 'awareness', 'value', 'proposition', 'convinced', 'focus', 'strongly', 'partnering', 'n', 'moberries', 'launches', 'stood', 'place', 'present', 'strongest', 'ecosystems', 'largest', 'quarter', 'crazy', 'disruptive', 'booming', 'attract', 'retain', 'flocking', 'plenty', 'gap', 'older', 'digitalization', 'mckinsey', 'released', 'saying', 'point', 'pay', 'universities', 'cater', 'believes', 'private', 'public', 'failing', 'adapt', 'revolution', 'age', 'requires', 'provides', 'impact', 'condensed', 'objective', 'zero', 'programs', 'providing', 'channels', 'stand', 'competition', 'laser', 'enabling', 'achieve', 'employable', 'ensure', 'employers', 'hire', 'behavioral', 'theyve', 'giving', 'organizing', 'meet', 'changers', 'possibility', 'specialize', 'realizes', 'does', 'accommodate', 'starts', 'july', 'bigger', 'forward', 'grow', 'number', 'ensuring', 'ratio', 'hes', 'knows', 'leads', 'example', 'gone', 'play', 'incredibly', 'divided', 'backend', 'microservices', 'apis', 'ruby', 'rails', 'nodejs', 'consistent', 'allows', 'loop', 'sticking', 'iterate', 'located', 'atrium', 'tower', 'potsdamer', 'platz', 'room', 'accessible', 'town', 'central', 'location', 'terrace', 'amenities', 'coffee', 'snacks', 'views', 'envision', 'landing', 'afterbootcamp', 'reputation', 'signed', 'bank', 'talks', 'said', 'google', 'twitter', 'visa', 'rocket', 'magic', 'leap', 'profiles', 'partnerships', 'pool', 'locally', 'entry', 'staying', 'communities', 'resumes', 'decide', 'abroad', 'arise', 'wrote', 'blog', 'piece', 'mingle', 'bunch', 'informal', 'workshop', 'whos', 'considering', 'form', 'scared', 'tendency', 'resistant', 'encourage', 'feet', 'wet', 'programmers', 'faith', 'commit', 'rate', 'rigorous', 'majority', 'succeed', 'website', 'lauren', 'communications', 'strategist', 'passionate', 'techonology', 'arts', 'careeryouth', 'affairs', 'philanthropy', 'richmond', 'va', 'resides', 'ca', 'newspodcastimogen', 'revature', 'assembly', 'elewa', 'holberton', 'flatiron', 'bloc', 'edit', 'andela', 'galvanize', 'dojo', 'thinkful', 'red', 'origin', 'hackbright', 'muktek', 'welcome', 'roundup', 'busywe', 'published', 'demographics', 'promising', 'diversity', 'significant', 'fundraising', 'announcement', 'journalists', 'exploring', 'apprenticeship', 'versus', 'newest', 'posts', 'listen', 'podcast', 'januarywe', 'alexandre', 'continually', 'connect', 'anetwork', 'q', 'drew', 'equity', 'jumiaa', 'african', 'amazon', 'head', 'north', 'managing', 'director', 'tunisiai', 'ariel', 'inspired', 'vision', 'attended', 'potential', 'model', 'america', 'keen', 'peoples', 'receptive', 'conversation', 'fit', 'markets', 'open', 'preparation', 'launch', 'consider', 'human', 'gm', 'convince', 'scratch', 'leverage', 'relations', 'integrate', 'administration', 'leaders', 'globally', 'opening', 'estimated', 'deficit', 'generation', 'attractive', 'preferred', 'facebook', 'multinationals', 'maturing', 'significantly', 'vcs', 'accelerators', 'builders', 'friendly', 'penetrate', 'competitors', 'obviously', 'ties', 'excite', 'fewbootcampsin', 'pop', 'operate', 'standards', 'bringing', 'raising', 'large', 'ibm', 'satisfaction', 'operating', 'continued', 'methods', 'offices', 'insurgentes', 'coworking', 'alongside', 'dynamic', 'exciting', 'colonia', 'napoles', 'district', 'rooms', 'x', 'classes', 'rolling', 'quantitative', 'accept', 'selective', 'worker', 'money', 'intensive', 'collect', 'scale', 'efficiently', 'loops', 'specificities', 'instance', 'seven', 'maybewere', 'grows', 'globalbootcamphow', 'linio', 'tip', 'mexican', 'invited', 'type', 'talent', 'produce', 'targeting', 'guadalajara', 'monterrey', 'entrepreneurs', 'focuses', 'ambitions', 'iron', 'normal', 'unless', 'meetup', 'suggestions', 'december', 'th', 'lifetime', 'download', 'page', 'motivations', 'committed', 'comments', 'center', 'sweepstakes', 'winner', 'luis', 'nagel', 'ironhacklauren', 'entered', 'win', 'gift', 'card', 'leaving', 'lucky', 'april', 'caught', 'ironhackwant', 'advertising', 'devialab', 'agency', 'mainly', 'close', 'entrepreneur', 'codingbootcamp', 'agenda', 'offered', 'visit', 'rounduppodcastimogen', 'georgia', 'yard', 'usc', 'viterbi', 'covalence', 'deltav', 'southern', 'institute', 'se', 'factory', 'wethinkcode', 'devtree', 'unit', 'tk', 'metis', 'platoon', 'codeup', 'minnesota', 'campsneed', 'summary', 'developments', 'closure', 'major', 'dived', 'reports', 'investments', 'initiatives', 'round', 'worldcontinue', 'parislauren', 'locations', 'françoisfilletteto', 'june', 'parisfirst', 'dimensions', 'related', 'players', 'docs', 'tremendously', 'withbootcampswhat', 'francisco', 'codingame', 'vc', 'cofounders', 'embraced', 'execute', 'couple', 'later', 'happier', 'wake', 'morning', 'codingbootcampcould', 'motivation', 'funding', 'nd', 'exponentially', 'station', 'f', 'xavier', 'niel', 'cofounder', 'incubator', 'growth', 'fueled', 'increasing', 'economy', 'shortage', 'filled', 'targets', 'appeared', 'apart', 'dedicate', 'courseto', 'hands', 'submitted', 'coaching', 'connections', 'discuss', 'neighborhood', 'arrondissement', 'near', 'opera', 'metro', 'lines', 'bus', 'bike', 'stations', 'car', 'magnificent', 'patio', 'meetingworking', 'assignments', 'tracks', 'ones', 'chosen', 'popular', 'relevant', 'expertise', 'mentors', 'focusing', 'integrating', 'ex', 'react', 'meteor', 'industries', 'rising', 'media', 'entertainment', 'andor', 'agencies', 'hell', 'assisted', 'ta', 'ofmentors', 'coach', 'session', 'sponsored', 'florian', 'jourda', 'st', 'engineer', 'box', 'scaled', 'spent', 'chief', 'officer', 'bayes', 'ngo', 'funded', 'machine', 'unemployment', 'usually', 'monitoring', 'operational', 'execution', 'recruit', 'successful', 'question', 'depends', 'transparent', 'dedicating', 'similar', 'miamis', 'difference', 'rooftop', 'floor', 'organize', 'lunches', 'approaching', 'employer', 'realities', 'needs', 'partnered', 'withtech', 'drivy', 'leader', 'peer', 'rental', 'jumia', 'equivalent', 'east', 'stootie', 'kima', 'ventures', 'fund', 'withportfolio', 'series', 'd', 'accomplish', 'corporations', 'mastering', 'volumes', 'enthusiasm', 'expressed', 'theyll', 'metrics', 'usuallyof', 'employee', 'hackercreate', 'whilebecome', 'freelancers', 'remote', 'constant', 'interaction', 'wants', 'intro', 'openclassrooms', 'codecademy', 'codecombat', 'numa', 'outstanding', 'specific', 'topic', 'apprehended', 'thoughts', 'youd', 'exists', 'send', 'seats', 'typeformread', 'episodeapril', 'green', 'fox', 'grand', 'circus', 'acclaim', 'playcrafting', 'arizona', 'sky', 'umass', 'amherst', 'austin', 'chrysalis', 'deep', 'unh', 'queens', 'zip', 'wilmington', 'collected', 'handy', 'reporting', 'scholarships', 'added', 'interesting', 'directory', 'rarryourlearntocode', 'codesmith', 'v', 'davinci', 'coders', 'grace', 'hopper', 'claim', 'bov', 'designlab', 'nl', 'elevator', 'learningfuze', 'growthx', 'wyncode', 'turntotech', 'temple', 'reflect', 'store', 'certain', 'unmet', 'bet', 'streak', 'abootcampprep', 'cheers', 'resolutions', 'list', 'plunge', 'cross', 'compiled', 'stellar', 'offering', 'timepart', 'scholarship', 'dish', 'aspiring', 'youcontinue', 'rarrdecember', 'roundupimogen', 'asi', 'labsiot', 'cloud', 'hackeryou', 'firehose', 'guild', 'codingnomads', 'upscale', 'nyc', 'epitech', 'academyacademy', 'uc', 'irvine', 'happenings', 'announcements', 'uber', 'tokyo', 'staffing', 'firm', 'rarrinstructor', 'jacqueline', 'pastore', 'ironhackliz', 'eggleston', 'testing', 'sat', 'superstar', 'listening', 'empathy', 'communication', 'produces', 'unicorns', 'incorporating', 'htmlbootstrap', 'ahow', 'changer', 'film', 'creative', 'boston', 'temping', 'capital', 'harvard', 'mit', 'smart', 'lotus', 'notes', 'usability', 'labs', 'tester', 'bentley', 'masters', 'magical', 'ethnography', 'microsoft', 'staples', 'adidas', 'reebok', 'fidelity', 'federal', 'jp', 'morgan', 'chase', 'h', 'r', 'novartis', 'zumba', 'fitness', 'gofer', 'tool', 'effective', 'quickly', 'verticals', 'platforms', 'hadnt', 'used', 'refine', 'particular', 'stands', 'referred', 'respected', 'conferences', 'lecture', 'foundations', 'principles', 'deliver', 'activities', 'tests', 'products', 'pieces', 'instead', 'demonstrate', 'foray', 'marcelo', 'paiva', 'follow', 'lifecycles', 'marketplace', 'researchhow', 'target', 'deliverables', 'turning', 'concept', 'architecture', 'low', 'micro', 'models', 'principal', 'visualdesign', 'beasts', 'implement', 'designs', 'bootstrap', 'marketable', 'individual', 'breakouts', 'push', 'trendinthe', 'generalist', 'larger', 'broader', 'specialized', 'niches', 'instructorstasandor', 'ideal', 'ismany', 'tackled', 'groups', 'flow', 'experts', 'sections', 'differ', 'jump', 'shoes', 'mix', 'include', 'sony', 'non', 'profit', 'crack', 'sector', 'schedule', 'approximately', 'outside', '~', 'hoursweek', 'largely', 'sum', 'units', 'cover', 'completes', 'individually', 'entire', 'result', 'prototypes', 'carry', 'circumstances', 'varying', 'roles', 'fields', 'depending', 'interests', 'houses', 'introductory', 'ixda', 'resource', 'e', 'mail', 'wed', 'profile', 'moreabout', 'liz', 'breakfast', 'tacos', 'twitterquora', 'youtube', 'nbsplearn', 'summer', 'bootcampliz', 'logit', 'south', 'fellows', 'incoming', 'freshman', 'offerings', 'rarr', 'bootcampimogen', 'picked', 'range', 'francisconew', 'yorkchicagoseattle', 'arent', 'uscontinue', 'rarrcoding', 'comparison', 'devmountain', 'redwood', 'academygrace', 'refactoru', 'rithm', 'devpoint', 'makersquare', 'digitalcrafts', 'bottega', 'codecraft', 'turing', 'wondering', 'bootcampis', 'costs', 'deferred', 'tuition', 'budget', 'usathis', 'site', 'longer', 'comparable', 'listed', 'usa', 'links', 'detailed', 'pages', 'rarrcracking', 'miamiliz', 'ios', 'expanded', 'acceptance', 'sneak', 'peek', 'applicationhow', 'typically', 'falls', 'stages', 'takes', 'averagedays', 'entirety', 'submission', 'wanting', 'nutshell', 'peak', 'admission', 'committees', 'attracts', 'flight', 'attendants', 'travelling', 'yoginis', 'cs', 'ivy', 'leagues', 'democratic', 'sorts', 'pedigree', 'tend', 'perform', 'necessarily', 'interviewcan', 'sample', 'motivates', 'happens', 'function', 'inside', 'suggest', 'ace', 'applicant', 'midst', 'materials', 'address', 'programminghttpsintrohtml', 'catshttp', 'qualities', 'reveals', 'candidates', 'indicator', 'curiosity', 'probably', 'led', 'consists', 'minutes', 'breadth', 'acceptedwhat', 'exact', 'spots', 'gets', 'roots', 'visastourist', 'visas', 'countries', 'represented', 'thailand', 'pakistan', 'brazil', 'travel', 'tourist', 'melting', 'pot', 'combined', 'werent', 'article', 'let', 'commentsbest', 'southharry', 'hantel', 'nashville', 'codecamp', 'charleston', 'foundry', 'slide', 'roof', 'lee', 'mason', 'dixon', 'united', 'states', 'carolinas', 'texas', 'covering', 'rarrstudent', 'gorka', 'magana', 'rushmorefm', 'freelancer', 'appliedive', 'developing', 'concrete', 'platform', 'drove', 'bootcampsi', 'basically', 'adwords', 'avoid', 'merit', 'likethe', 'separated', 'approved', 'etcit', 'men', 'shouldve', 'endless', 'agile', 'continuously', 'adapting', 'burnout', 'iti', 'tired', 'boring', 'ugly', 'challenged', 'succeedfor', 'situation', 'following', 'speed', 'proud', 'ironhackim', 'finish', 'collaboration', 'designed', 'snapreminder', 'tunedwhat', 'entailim', 'releasing', 'ill', 'directly', 'worldit', 'graduatednot', 'formally', 'hereexclusive', 'makers', 'rutgers', 'starter', 'league', 'xorgil', 'viking', 'architects', 'byte', 'devleague', 'sabio', 'devcodecamp', 'lighthouse', 'exclusive', 'discounts', 'promo', 'codes', 'jaime', 'munoz', 'soft', 'applying\\u200bbefore', 'programmer\\u200b', 'managed', 'cice', 'luck', 'devta', 'singh', 'face', 'revelation', 'moment', 'fact', 'offline', 'php', 'improving', 'faster', 'stimulate', 'trazos', 'pushing', 'turned', 'price', 'etc\\u200bironhack', 'admire', 'keyvan', 'akbary', 'carlos', 'blé', 'choice\\u200b', '\\u200bfortunately', 'asked', 'explanations', 'solved', 'problem\\u200b', '\\u200bthey', 'guess', 'thinks', 'imagine', 'am\\u200b', 'etc\\u200bfor', 'postgresql', 'javascript\\u200b', 'medical', 'appointments', 'demo', 'entail\\u200bim', 'marketgoocom', 'seo', 'tool\\u200b', 'mysql', 'phinx', 'collaborating', 'decisions', 'behavior', 'ironhack\\u200bmaybe', 'handle', 'alone\\u200b', 'contacts', 'knowhow', 'catch', 'twitterstudent', 'marta', 'fonda', 'compete', 'succeeded', 'floqqcomwhat', 'applyingwhen', 'degrees', 'studies', 'interviewed', 'c', 'java', 'sql', 'lacking', 'modern', 'rubythis', 'places', 'lean', 'teamwork', 'surrounded', 'country', 'convert', 'fastest', 'livedtell', 'etcwell', 'save', 'features', 'responsive', 'jquery', 'storage', 'frontend', 'efforts', 'finalists', 'hackshow', 'entail', 'floqqcom', 'nowadays', 'ironhackit', 'impossible', 'it´s', 'i´ve', 'º', 'allowed', 'born', 'quinones', 'american', 'sets', 'aparttell', 'puerto', 'rico', 'comes', 'construction', 'civil', 'infrastructure', 'household', 'educators', 'parents', 'father', 'dna', 'wharton', 'ed', 'iterating', 'issue', 'brilliant', 'mvp', 'outsource', 'acquire', 'compressed', 'earlier', 'traction', 'region', 'geared', 'opposed', 'admit', 'hesitant', 'newbie', 'appealing', 'folks', 'analytical', 'hardcore', 'lesson', 'fly', 'filter', 'disparate', 'levels', 'arriving', 'differently', 'velocities', 'styles', 'pace', 'everyones', 'yeah', 'scenes', 'food', 'parties…', 'integral', 'society', 'higher', 'arena', 'fashion', 'trained', 'foreigners', 'eu', 'mobility', 'union', 'citizen', 'requirements', 'northern', 'weather', 'beaches', 'lifestyle…', 'thriving', 'cosmopolitan', 'emerging', 'stage', 'acquired', 'substantial', 'rounds', 'driver', 'employ', 'engineers', 'northeast', 'enrolling', 'incur', 'tape', 'raised', 'bootstrapped', 'sinatra', 'culmination', 'believers', 'flipped', 'reduce', 'theory', 'extent', 'videos', 'homework', 'weekend', 'demands', 'fragmented', 'gazillion', 'percent', 'obsessed', 'instrument', 'differentiates', 'obsession', 'clean', 'format', 'slightly', 'android', 'capped', 'view', 'instructing', 'parts', 'fulltime', 'peers', 'connects', 'professors', 'vested', 'prove', 'screen', 'minute', 'skype', 'intrinsic', 'monday', 'friday', 'saturdaysunday…', 'beams', 'energy', 'positivity', 'assess', 'programmed', 'cases', 'coded', 'valuation', 'founding', 'thanemployees', 'speakers', 'serves', 'identify', 'bring', 'leading', 'cv', 'optimize', 'conduct', 'luxury', 'paying', 'fee', 'charging', 'placing', 'placed', 'nearly', 'accreditation', 'buzz', 'happening', 'radar', 'pressure', 'government', 'attention', 'interfere', 'institutions', 'expanding', 'anytime', 'regions', 'closer', 'websiteironhack', 'paulocontact', 'ironhackschool', 'infoschool', 'info', 'developmentux', 'designpaulo', 'accepts', 'gi', 'licensing', 'licensed', 'dept', 'educationnbsp', 'housingoffers', 'corporate', 'training', 'yourelooking', 'match', 'namemy', 'optional', 'pauloany', 'acknowledge', 'shared', 'thanksverify', 'viaemail', 'githubby', 'clicking', 'verify', 'linkedingithub', 'agree', 'emailgo', 'publish', 'var', 'newwindow', 'functionif', 'delete', 'moderatorsback', 'reviewfunction', 'instructions', 'confirm', 'closeonclick', 'closethismodal', 'functionhang', 'whoa', 'terribly', 'fix', 'reviewnbsp', 'copy', 'clipboardfind', 'highest', 'rated', 'looks', 'mailing', 'shoot', 'emailgreat', 'safe', 'uslegal', 'service', 'privacy', 'policy', 'usresearch', 'ofcoding', 'outcomesdemographics', 'studycourse', 'researchlog', 'inforgot', 'password', 'oror', 'track', 'compare', 'reportsign', 'accountlog', 'analysiswikipediadata', 'analysis', 'wikipedia', 'encyclopedia', 'navigationjump', 'statisticsdata', 'visualization', 'analysisinformation', 'interactive', 'descriptive', 'statisticsinferential', 'statistics', 'statistical', 'graphicsplot', 'infographic', 'figurestamara', 'munzner', 'ben', 'shneiderman', 'john', 'w', 'tukey', 'edward', 'tufte', 'viégas', 'hadley', 'wickham', 'typesline', 'chart', 'bar', 'histogramscatterplot', 'boxplotpareto', 'pie', 'chartarea', 'control', 'stem', 'leaf', 'displaycartogram', 'multiplesparkline', 'table', 'topicsdata', 'datadatabase', 'chartjunkvisual', 'perception', 'regression', 'analysisstatistical', 'misleadinganalysis', 'simulationdata', 'potentials', 'morselong', 'lennard', 'jones', 'yukawa', 'morse', 'potentialfluid', 'dynamics', 'finite', 'volume', 'element', 'boundary', 'lattice', 'boltzmann', 'riemann', 'solver', 'dissipative', 'particle', 'smoothed', 'modelsmonte', 'carlo', 'integration', 'gibbs', 'sampling', 'metropolis', 'algorithm', 'particlen', 'body', 'cell', 'molecular', 'dynamicsulam', 'von', 'neumann', 'galerkin', 'lorenz', 'wilson', 'vtedata', 'inspecting', 'cleansingtransforming', 'modelingdata', 'discovering', 'informing', 'conclusions', 'supporting', 'facets', 'approaches', 'encompassing', 'techniques', 'variety', 'names', 'domains', 'mining', 'technique', 'modeling', 'discovery', 'predictive', 'purposes', 'relies', 'heavily', 'aggregation', 'statisticsexploratory', 'eda', 'confirmatory', 'cda', 'confirming', 'falsifying', 'existing', 'hypothesespredictive', 'forecasting', 'classification', 'text', 'applies', 'linguistic', 'structural', 'extract', 'classify', 'textual', 'sources', 'species', 'unstructured', 'varieties', 'precursor', 'closely', 'linked', 'dissemination', 'term', 'synonym', 'contentsthe', 'collection', 'cleaning', 'exploratory', 'messages', 'analyzing', 'users', 'barriers', 'confusing', 'opinion', 'cognitive', 'biases', 'innumeracy', 'buildings', 'practitioner', 'initial', 'measurements', 'implementation', 'fulfill', 'intentions', 'nonlinear', 'stability', 'methodsfree', 'contests', 'references', 'citations', 'bibliography', 'editdata', 'flowchart', 'cathy', 'oneil', 'rachel', 'schuttanalysis', 'refers', 'separate', 'components', 'examination', 'obtaining', 'raw', 'converting', 'analyzed', 'hypotheses', 'disprove', 'theories', 'statistician', 'defined', 'procedures', 'interpreting', 'precise', 'accurate', 'machinery', 'mathematical', 'phases', 'distinguished', 'described', 'iterative', 'phasesdata', 'inputs', 'specified', 'directing', 'customers', 'experimental', 'population', 'variables', 'regarding', 'income', 'obtained', 'numerical', 'categorical', 'label', 'numbersdata', 'communicated', 'analysts', 'custodians', 'personnel', 'sensors', 'traffic', 'cameras', 'satellites', 'recording', 'devices', 'downloads', 'documentationdata', 'editthe', 'cycle', 'actionable', 'conceptually', 'initially', 'processed', 'organised', 'involve', 'rows', 'columns', 'spreadsheet', 'softwaredata', 'incomplete', 'contain', 'duplicates', 'errors', 'stored', 'preventing', 'correcting', 'common', 'tasks', 'matching', 'identifying', 'inaccuracy', 'deduplication', 'column', 'segmentation', 'identified', 'totals', 'compared', 'separately', 'numbers', 'believed', 'reliable', 'unusual', 'amounts', 'determined', 'thresholds', 'reviewed', 'depend', 'addresses', 'outlier', 'detection', 'rid', 'incorrectly', 'spell', 'checkers', 'lessen', 'mistyped', 'correctexploratory', 'cleaned', 'begin', 'contained', 'datathe', 'exploration', 'requests', 'nature', 'median', 'generated', 'examine', 'graphical', 'obtain', 'datamodeling', 'formulas', 'relationships', 'correlation', 'causation', 'variable', 'residual', 'error', 'accuracy', 'modelerror', 'inferential', 'measure', 'explains', 'variation', 'sales', 'dependent', 'y', 'axberror', 'b', 'minimize', 'predicts', 'simplify', 'communicate', 'resultsdata', 'generates', 'outputs', 'feeding', 'analyzes', 'purchasing', 'history', 'recommends', 'purchases', 'enjoycommunication', 'analysismain', 'articledata', 'reported', 'formats', 'determining', 'displays', 'tables', 'charts', 'lookup', 'visualizationa', 'illustrated', 'demonstrating', 'revenue', 'scatterplot', 'illustrating', 'inflation', 'measured', 'points', 'stephen', 'associated', 'graphs', 'specifying', 'performing', 'captured', 'trendranking', 'subdivisions', 'ranked', 'ascending', 'descending', 'ranking', 'performance', 'persons', 'category', 'subdivision', 'personspart', 'percentage', 'ofa', 'ratios', 'acategorical', 'reference', 'actual', 'vs', 'expenses', 'departments', 'distribution', 'observations', 'interval', 'stock', 'return', 'intervals', 'asetc', 'histogram', 'thiscomparison', 'xy', 'determine', 'opposite', 'directions', 'plotting', 'scatter', 'plot', 'messagenominal', 'comparing', 'geospatial', 'map', 'layout', 'floors', 'cartogram', 'typical', 'alsoproblem', 'koomey', 'includecheck', 'anomalies', 'calculations', 'verifying', 'formula', 'driven', 'subtotals', 'predictable', 'normalize', 'comparisons', 'relative', 'gdp', 'index', 'component', 'dupont', 'standard', 'deviation', 'analyze', 'cluster', 'meanan', 'illustration', 'mece', 'principle', 'consultants', 'layer', 'broken', 'sub', 'mutually', 'add', 'exhaustive', 'definition', 'divisions', 'robust', 'hypothesis', 'true', 'gathered', 'false', 'effect', 'relates', 'economics', 'phillips', 'involves', 'likelihood', 'ii', 'relate', 'rejecting', 'affects', 'changes', 'affect', 'equation', 'condition', 'nca', 'additive', 'outcome', 'xs', 'compensate', 'sufficient', 'necessity', 'exist', 'compensation', 'messaging', 'outlined', 'analytic', 'presented', 'taxonomy', 'poles', 'retrieving', 'arranging', 'taskgeneral', 'descriptionpro', 'forma', 'retrieve', 'attributes', 'attributesin', 'caseswhat', 'mileage', 'gallon', 'ford', 'mondeohow', 'movie', 'wind', 'conditions', 'attribute', 'satisfy', 'conditionswhat', 'kelloggs', 'cereals', 'fiberwhat', 'comedies', 'won', 'awards', 'funds', 'underperformed', 'sp', 'compute', 'derived', 'aggregate', 'numeric', 'representation', 'calorie', 'cerealswhat', 'gross', 'stores', 'manufacturers', 'cars', 'therefind', 'extremum', 'possessing', 'extreme', 'topbottom', 'mpgwhat', 'directorfilm', 'marvel', 'studios', 'release', 'datesort', 'ordinal', 'metric', 'weightrank', 'caloriesdetermine', 'span', 'lengthswhat', 'horsepowers', 'actresses', 'setcharacterize', 'characterize', 'carbohydrates', 'shoppersfind', 'expectation', 'outliers', 'exceptions', 'horsepower', 'accelerationare', 'proteincluster', 'clusters', 'attributesare', 'lengthscorrelate', 'fatis', 'mpg', 'genders', 'payment', 'method', 'trend', 'length', 'yearsgiven', 'contextual', 'relevancy', 'context', 'restaurants', 'foods', 'caloric', 'intake', 'distinguishing', 'sound', 'mw', 'parser', 'output', 'quotebox', 'pmw', 'p', 'quotequoted', 'aligned', 'cite', 'max', 'width', 'px', 'entitled', 'facts', 'patrick', 'moynihan', 'formal', 'irrefutable', 'meaning', 'august', 'congressional', 'cbo', 'extending', 'bush', 'tax', 'cuts', 'trillion', 'national', 'debt', 'disagree', 'opinionas', 'auditor', 'arrive', 'statements', 'publicly', 'traded', 'fairly', 'stated', 'respects', 'factual', 'evidence', 'opinions', 'erroneouscognitive', 'adversely', 'confirmation', 'bias', 'interpret', 'confirms', 'preconceptions', 'individuals', 'discredit', 'viewsanalysts', 'book', 'retired', 'cia', 'richards', 'heuer', 'delineate', 'assumptions', 'chains', 'inference', 'specify', 'uncertainty', 'emphasized', 'surface', 'debate', 'alternative', 'viewinnumeracy', 'generally', 'adept', 'audiences', 'literacy', 'numeracythey', 'innumerate', 'communicating', 'attempting', 'mislead', 'misinform', 'deliberately', 'falling', 'factor', 'normalization', 'sizing', 'employed', 'adjusting', 'nominal', 'increases', 'section', 'aboveanalysts', 'scenarios', 'statement', 'recast', 'estimate', 'cash', 'discount', 'similarly', 'effects', 'governments', 'outlays', 'deficits', 'measures', 'predict', 'consumption', 'carried', 'realise', 'heating', 'ventilation', 'air', 'conditioning', 'lighting', 'realised', 'automatically', 'miming', 'optimising', 'articleanalytics', 'explanatory', 'actions', 'subset', 'performanceeducation', 'editanalytic', 'purpose', 'systems', 'counter', 'embedding', 'labels', 'supplemental', 'documentation', 'packagedisplay', 'analysespractitioner', 'contains', 'assist', 'practitioners', 'distinction', 'phase', 'refrains', 'aimed', 'answering', 'original', 'checked', 'assessed', 'frequency', 'counts', 'normality', 'skewness', 'kurtosis', 'histograms', 'schemes', 'external', 'corrected', 'variance', 'analyses', 'conducted', 'phasequality', 'measurement', 'instruments', 'corresponds', 'homogeneity', 'internal', 'consistency', 'indication', 'reliability', 'inspects', 'variances', 'items', 'scales', 'cronbachs', 'α', 'alpha', 'item', 'scaleinitialedit', 'assessing', 'impute', 'phasepossible', 'square', 'root', 'transformation', 'differs', 'moderately', 'normallog', 'substantially', 'normalinverse', 'severely', 'normalmake', 'dichotomous', 'randomization', 'procedure', 'substantive', 'equally', 'distributed', 'groupsif', 'random', 'subgroups', 'distortions', 'dropout', 'phaseitem', 'nonresponse', 'phasetreatment', 'manipulation', 'checks', 'accurately', 'especially', 'subgroup', 'performed', 'atbasic', 'importantand', 'tabulationsfinal', 'findings', 'documented', 'preferable', 'corrective', 'rewritten', 'madein', 'normalsshould', 'transform', 'categoricaladapt', 'methodin', 'datashould', 'neglect', 'imputation', 'usedin', 'outliersshould', 'techniquesin', 'omitting', 'comparability', 'instrumentsin', 'drop', 'inter', 'differences', 'bootstrapping', 'defective', 'calculate', 'propensity', 'scores', 'covariates', 'analysesanalysis', 'univariate', 'associations', 'plots', 'account', 'andloglinear', 'restricted', 'ofanalysis', 'confounders', 'continuous', 'm', 'sd', 'kurtosisstem', 'displaysbox', 'plotsnonlinear', 'recorded', 'exhibit', 'bifurcationschaosharmonics', 'subharmonics', 'simple', 'linear', 'identification', 'draft', 'reportexploratory', 'adopted', 'analysing', 'searched', 'interpreted', 'adjust', 'significance', 'bonferroni', 'correction', 'dataset', 'simply', 'resulted', 'analysisstability', 'generalizable', 'reproducible', 'validationby', 'splitting', 'fitted', 'generalizes', 'sensitivity', 'analysisa', 'parameters', 'systematically', 'varied', 'brief', 'modela', 'widely', 't', 'testanovaancovamanova', 'usable', 'predictors', 'generalized', 'modelan', 'extension', 'discrete', 'modellingusable', 'latent', 'manifest', 'response', 'theorymodels', 'binary', 'exam', 'editdevinfoa', 'database', 'endorsed', 'nations', 'elkidata', 'knimethe', 'konstanz', 'miner', 'comprehensive', 'orangea', 'visual', 'featuringvisualization', 'pastfree', 'scientific', 'pawfortranc', 'cern', 'ra', 'computing', 'graphics', 'cdata', 'scipy', 'pandaspython', 'libraries', 'researchers', 'utilize', 'followskaggle', 'held', 'kaggleltpp', 'contest', 'fhwa', 'asce', 'editstatistics', 'portal', 'actuarial', 'censoring', 'computational', 'physics', 'acquisition', 'blending', 'governance', 'presentation', 'signal', 'dimension', 'reduction', 'assessment', 'fourier', 'multilinear', 'pca', 'subspace', 'multiway', 'nearest', 'neighbor', 'wavelet', 'edit^exploring', '^', 'abc', 'judd', 'charles', 'mccleland', 'gary', 'analysisharcourt', 'brace', 'jovanovich', 'isbn', 'citecitation', 'codecs', 'lock', 'amw', 'registration', 'subscription', 'subscriptionmw', 'spanmw', 'hidden', 'visible', 'registrationmw', 'kern', 'leftmw', 'wl', 'rightmw', '^john', 'abcdefg', 'schutt', 'scienceoreilly', '^clean', 'crm', 'generate', 'retrieved', 'july^', 'retrievedoctober', 'perceptual', 'edge', 'february', '^hellerstein', 'joseph', 'februaryquantitative', 'databasespdfeecs', 'division', 'retrievedoctober^stephen', 'selecting', 'graph', '^behrens', 'psychological', 'association', '^grandjean', 'martinla', 'connaissance', 'est', 'réseaupdfles', 'cahiers', 'du', 'numériquedoilcn', '^stephen', 'selection', 'matrix^', 'robert', 'amar', 'james', 'eagan', 'staskolow', 'activity', 'visualization^', 'william', 'newmana', 'preliminary', 'hci', 'pro', 'abstracts^', 'mary', 'shawwhat', 'abcontaas', 'efficient', 'applicationsscholarspace', 'hicss', 'economic', 'outlook', 'pdfretrieved^', 'introductionciagov', '^bloomberg', 'barry', 'ritholz', 'math', 'passes', '^gonzález', 'vidal', 'aurora', 'moreno', 'cano', 'victoria', 'efficiency', 'intelligent', 'procedia', 'elsevier', 'doijprocs', '^davenport', 'thomas', 'jeanne', 'competing', 'analyticsoreilly', 'aarons', 'dreport', 'finds', 'pupil', 'rankin', 'j', 'marchhow', 'fight', 'propagate', 'epidemic', 'educator', 'leadership', 'tical', 'summit^adèr', '^adèr', 'pp^adèr', 'tabachnick', 'fidell', 'pp^', 'billings', 'sa', 'narmax', 'spatio', 'temporal', 'wiley^adèr', 'higgssymmetry', 'magazine', 'retrievedjanuary^nehme', 'jean', 'ltpp', 'highway', 'datagov', 'pavement', 'novemberbibliography', 'adèr', 'herman', 'chapterphases', 'jmellenbergh', 'gideon', 'advising', 'companionhuizen', 'netherlands', 'johannes', 'van', 'kessel', 'pub', 'pp', 'oclcadèr', 'chapterthe', 'oclc', 'bg', 'ls', 'chaptercleaning', 'act', 'screening', 'eds', 'multivariate', 'fifth', 'edition', 'pearson', 'allyn', 'bacon', 'wikiversity', 'hjampmellenbergh', 'gj', 'contributions', 'dj', 'handadvising', 'companion', 'huizen', 'cleveland', 'kleiner', 'paul', 'agraphical', 'analysispressisbn', 'fandango', 'armandopython', 'packt', 'godfrey', 'blantonjurans', 'handbook', 'mcgraw', 'hillisbn', 'lewis', 'beck', 'michael', 'sdata', 'sage', 'publications', 'incisbnnistsematech', 'pyzdek', 'tquality', 'richard', 'veryard', 'pragmatic', 'oxford', 'blackwell', 'lsusing', 'baconisbn', 'authority', 'gnd', 'vte', 'archaeology', 'cleansing', 'compression', 'corruption', 'curation', 'degradation', 'editing', 'farming', 'fusion', 'integrity', 'library', 'loss', 'migration', 'preservation', 'protection', 'recovery', 'retention', 'scraping', 'scrubbing', 'stewardship', 'warehouse', '<', 'newpp', 'parsed', 'cached', 'timecache', 'expirydynamic', 'cpu', 'usageseconds', 'preprocessor', 'node', 'countpreprocessor', 'countpost‐expand', 'sizebytes', 'template', 'argument', 'depthexpensive', 'countunstrip', 'recursion', 'depthunstrip', 'post‐expand', 'wikibase', 'entities', 'loadedlua', 'lua', 'usagemb', 'mb>', '', ' 0, numbers))\n", + "\n", + "for num in numbers:\n", + " if num > 0:\n", + " list_2.append(num)\n", + " \n", + "\n", + "# Enter your code below\n", + "\n", + "print(list_2)\n", + "print(list_3)" ] }, { @@ -113,15 +133,50 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 95, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['good morning', 'everyone']\n", + "['good morning', 'everyone']\n", + "('good morning', 'everyone')\n" + ] + } + ], "source": [ "import langdetect\n", "from functools import reduce\n", "words = ['good morning', '早上好', 'доброго', 'おはようございます', 'everyone', '大家', 'каждый', 'みんな']\n", + "word_list =[]\n", + "list_4=[]\n", + "list_5=[]\n", + "# Enter your code below\n", "\n", - "# Enter your code below" + "#list_4 = list(reduce(lambda num: num > 0, words))\n", + "\n", + "for word in words:\n", + " if langdetect.detect(word)=='en':\n", + " word_list.append(word)\n", + " \n", + "print(word_list)\n", + "\n", + "list_4 = list(filter(lambda word: langdetect.detect(word)=='en', words))\n", + "print(list_4)\n", + "\n", + "f= lambda a, b: a if langdetect.detect(a)=='en' else a\n", + "f2= lambda a, b: a if langdetect.detect(a)=='en' else b\n", + "list_5= (reduce(f,words) , reduce(f2,words))\n", + "#list_5 = reduce(lambda x, word: word if (langdetect.detect(word)=='en'), words)\n", + "print(list_5)\n", + "\n", + "#product = reduce((lambda x, y: x * y), [1, 2, 3, 4])\n", + "\n", + "#from functools import reduce\n", + "#f = lambda a,b: a if (a > b) else b\n", + "#reduce(f, [47,11,42,102,13])" ] }, { @@ -175,6 +230,23 @@ "print(bow)" ] }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "zsh:1: command not found: conda\r\n" + ] + } + ], + "source": [ + "! conda install -c conda-forge langdetect" + ] + }, { "cell_type": "code", "execution_count": null, @@ -185,7 +257,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -199,7 +271,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.6" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/lab-functional-programming/your-code/main.ipynb b/lab-functional-programming/your-code/main.ipynb index 8017d6e..d87b149 100644 --- a/lab-functional-programming/your-code/main.ipynb +++ b/lab-functional-programming/your-code/main.ipynb @@ -442,7 +442,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -456,7 +456,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.6" + "version": "3.9.12" } }, "nbformat": 4,