Skip to content

Commit

Permalink
Revert "refactor"
Browse files Browse the repository at this point in the history
This reverts commit bee0959.
  • Loading branch information
Pierian-Data committed Sep 22, 2021
1 parent bee0959 commit 8bcde19
Show file tree
Hide file tree
Showing 260 changed files with 3,502 additions and 0 deletions.
196 changes: 196 additions & 0 deletions 09-Built-in Functions/.ipynb_checkpoints/01-Map-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"___\n",
"\n",
"<a href='https://www.udemy.com/user/joseportilla/'><img src='../Pierian_Data_Logo.png'/></a>\n",
"___\n",
"<center><em>Content Copyright by Pierian Data</em></center>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# map()\n",
"\n",
"map() is a built-in Python function that takes in two or more arguments: a function and one or more iterables, in the form:\n",
"\n",
" map(function, iterable, ...)\n",
" \n",
"map() returns an *iterator* - that is, map() returns a special object that yields one result at a time as needed. We will learn more about iterators and generators in a future lecture. For now, since our examples are so small, we will cast map() as a list to see the results immediately.\n",
"\n",
"When we went over list comprehensions we created a small expression to convert Celsius to Fahrenheit. Let's do the same here but use map:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def fahrenheit(celsius):\n",
" return (9/5)*celsius + 32\n",
" \n",
"temps = [0, 22.5, 40, 100]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now let's see map() in action:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[32.0, 72.5, 104.0, 212.0]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"F_temps = map(fahrenheit, temps)\n",
"\n",
"#Show\n",
"list(F_temps)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the example above, map() applies the fahrenheit function to every item in temps. However, we don't have to define our functions beforehand; we can use a lambda expression instead:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[32.0, 72.5, 104.0, 212.0]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list(map(lambda x: (9/5)*x + 32, temps))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Great! We got the same result! Using map with lambda expressions is much more common since the entire purpose of map() is to save effort on having to create manual for loops."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### map() with multiple iterables\n",
"map() can accept more than one iterable. The iterables should be the same length - in the event that they are not, map() will stop as soon as the shortest iterable is exhausted.\n",
"\n",
"\n",
"For instance, if our function is trying to add two values **x** and **y**, we can pass a list of **x** values and another list of **y** values to map(). The function (or lambda) will be fed the 0th index from each list, and then the 1st index, and so on until the n-th index is reached.\n",
"\n",
"Let's see this in action with two and then three lists:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[6, 8, 10, 12]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = [1,2,3,4]\n",
"b = [5,6,7,8]\n",
"c = [9,10,11,12]\n",
"\n",
"list(map(lambda x,y:x+y,a,b))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[15, 18, 21, 24]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Now all three lists\n",
"list(map(lambda x,y,z:x+y+z,a,b,c))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see in the example above that the parameter **x** gets its values from the list **a**, while **y** gets its values from **b** and **z** from list **c**. Go ahead and play with your own example to make sure you fully understand mapping to more than one iterable.\n",
"\n",
"Great job! You should now have a basic understanding of the map() function."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
154 changes: 154 additions & 0 deletions 09-Built-in Functions/.ipynb_checkpoints/02-Reduce-checkpoint.ipynb

Large diffs are not rendered by default.

128 changes: 128 additions & 0 deletions 09-Built-in Functions/.ipynb_checkpoints/03-Filter-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"___\n",
"\n",
"<a href='https://www.udemy.com/user/joseportilla/'><img src='../Pierian_Data_Logo.png'/></a>\n",
"___\n",
"<center><em>Content Copyright by Pierian Data</em></center>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# filter\n",
"\n",
"The function filter(function, list) offers a convenient way to filter out all the elements of an iterable, for which the function returns True. \n",
"\n",
"The function filter(function,list) needs a function as its first argument. The function needs to return a Boolean value (either True or False). This function will be applied to every element of the iterable. Only if the function returns True will the element of the iterable be included in the result.\n",
"\n",
"Like map(), filter() returns an *iterator* - that is, filter yields one result at a time as needed. Iterators and generators will be covered in an upcoming lecture. For now, since our examples are so small, we will cast filter() as a list to see our results immediately.\n",
"\n",
"Let's see some examples:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"#First let's make a function\n",
"def even_check(num):\n",
" if num%2 ==0:\n",
" return True"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now let's filter a list of numbers. Note: putting the function into filter without any parentheses might feel strange, but keep in mind that functions are objects as well."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lst =range(20)\n",
"\n",
"list(filter(even_check,lst))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"filter() is more commonly used with lambda functions, because we usually use filter for a quick job where we don't want to write an entire function. Let's repeat the example above using a lambda expression:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list(filter(lambda x: x%2==0,lst))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Great! You should now have a solid understanding of filter() and how to apply it to your code!"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Loading

0 comments on commit 8bcde19

Please sign in to comment.