Skip to content

Instantly share code, notes, and snippets.

@PandoraRiot
Created March 24, 2022 07:00
Show Gist options
  • Select an option

  • Save PandoraRiot/7a08cf826add00ae4cf12979dcfa12fe to your computer and use it in GitHub Desktop.

Select an option

Save PandoraRiot/7a08cf826add00ae4cf12979dcfa12fe to your computer and use it in GitHub Desktop.
Introduction to python.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Introduction to python.ipynb",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/PandoraRiot/7a08cf826add00ae4cf12979dcfa12fe/introduction-to-python.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "CfgAbyDmml_P"
},
"source": [
"# The Python Programming Language"
]
},
{
"cell_type": "code",
"metadata": {
"id": "E517_6fzmeHv",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "91f0fa94-55a1-4e16-d20c-0e41814a9a64"
},
"source": [
"# Define varibles\n",
"x = 1\n",
"y = 2\n",
"x + y\n"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"3"
]
},
"metadata": {},
"execution_count": 1
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Ln3PDKF0tdcW",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "55997601-ea28-4028-bc7a-8123885ddce0"
},
"source": [
"string_example = 'This is a string'\n",
"type(string_example)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"str"
]
},
"metadata": {},
"execution_count": 2
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "hk4970Gwt825",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "df25ba1b-36e6-4df5-a1b1-ee9bf35da850"
},
"source": [
"type(x)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"int"
]
},
"metadata": {},
"execution_count": 3
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "gfAB51J4uIXx",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "640ea0e6-218b-4527-ae30-f091d406072f"
},
"source": [
"type(1.0)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"float"
]
},
"metadata": {},
"execution_count": 4
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "-rhDf50Uuk7A",
"outputId": "2a5b80ef-90fe-42d7-c6f4-7a0fcdc48e1d",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"# Tuples are an immutable data structure (cannot be altered)\n",
"x = (1, 'a', 2.5, 'b')\n",
"x"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(1, 'a', 2.5, 'b')"
]
},
"metadata": {},
"execution_count": 8
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "TTR9VcrDHwE0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 165
},
"outputId": "f43bd1a5-4c44-47b7-958b-0e109646c6ea"
},
"source": [
"x[0]=44"
],
"execution_count": null,
"outputs": [
{
"output_type": "error",
"ename": "TypeError",
"evalue": "ignored",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-11-6762c2c05a1c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m44\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m: 'tuple' object does not support item assignment"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "aohOXtedu6ao",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "3e9bb7a7-7a68-4023-a9d3-bc6b46126171"
},
"source": [
"# Lists are a mutable data structure.\n",
"\n",
"x = [1,2,'b',4.0,99,'a', [1,2,3]]\n",
"x"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[1, 2, 'b', 4.0, 99, 'a', [1, 2, 3]]"
]
},
"metadata": {},
"execution_count": 13
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "u8mrOpk5HF5U",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "8a1bde45-978e-4bf6-99d4-11a08e073e5b"
},
"source": [
"x[1]=33\n",
"x"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[1, 33, 'b', 4.0, 99, 'a', [1, 2, 3]]"
]
},
"metadata": {},
"execution_count": 14
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "8rg5VOPxvUUC",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "339d566e-0a92-432d-c22f-c6f2ed630a6a"
},
"source": [
"# Use \"append\" to append an object to a list.\n",
"x.append(3.3)\n",
"print(x)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[1, 33, 'b', 4.0, 99, 'a', [1, 2, 3], 3.3, 3.3, 3.3, 3.3]\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "AS5ruYBBwmxZ",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "c4b3b820-f915-4a58-b636-f2e21e598a33"
},
"source": [
"# Concatenate lists\n",
"[1,2] + [3,4]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[1, 2, 3, 4]"
]
},
"metadata": {},
"execution_count": 19
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "JOPuHHV2w1Di",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "914eb0f8-f964-4308-aeee-e35bf00bb147"
},
"source": [
"# repeat lists\n",
"[1]*3"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[1, 1, 1]"
]
},
"metadata": {},
"execution_count": 20
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "9jT9tkFrxDHY",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "59f9e774-5219-4821-e242-dbbad8f6c24c"
},
"source": [
"# Use the \"in\" operator to check if something is inside a list.\n",
"1 in [1, 2, 3]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"True"
]
},
"metadata": {},
"execution_count": 21
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "fvwwQlx4JpbC",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "19e49cca-0fc7-4a76-f84a-2623222a22d8"
},
"source": [
"# bracket notation to slice a string.\n",
"x = 'This is a string'\n",
"print(x[0]) #first character\n",
"print(x[0:4]) #first four characters"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"T\n",
"This\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "nmst1qVDJErj",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "9eea8900-ab6d-4f03-f3b0-a3c74257fa88"
},
"source": [
"x[3:]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'s is a string'"
]
},
"metadata": {},
"execution_count": 25
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "f23P1MHELCts",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "4a2f6e27-9ec9-4ca9-f372-175b333d01de"
},
"source": [
"print(x[-3])# Last element from a string\n",
"print(x[0:2]) # slice starting from the 4th element from the end and stopping before the 2nd element from the end"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"i\n",
"Th\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ybg6mOMNMUHN",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "34725eba-ccf4-4ab0-8369-0e5dcc2f3379"
},
"source": [
"firstname = 'Sebastián'\n",
"lastname = 'Restrepo'\n",
"\n",
"print(firstname + ' ' + lastname) # concatenate strings\n",
"print(firstname*3)\n",
"print('Sebastián' in firstname)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Sebastián Restrepo\n",
"SebastiánSebastiánSebastián\n",
"True\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "tQvSs0aIMgXZ"
},
"source": [
"firstname = 'Sebastian Diego Joaquin Andres'.split(' ') # [0] selects the first element of the list\n",
"lastname = 'Restrepo Cruz Guajo Duarte'.split(' ') # [-1] selects the last element of the list\n",
"print(type(firstname))\n",
"print(lastname)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"firstname = 'Sebastian,Diego,Joaquin,Andres'.split(',') \n",
"firstname"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "PBjTPzLO9JuT",
"outputId": "552c986c-e5e4-4cdc-ae2d-23821bb2a7aa"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"['Sebastian', 'Diego', 'Joaquin', 'Andres']"
]
},
"metadata": {},
"execution_count": 36
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "hoyr9hALM29y",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "3044af5a-99cf-4cb1-be56-1d32ebf8f03c"
},
"source": [
"'Sebastian' + str(2)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'Sebastian2'"
]
},
"metadata": {},
"execution_count": 38
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "xiwZAMT1X1PJ"
},
"source": [
"# How to loop through each item in the list.\n",
"x = [1,2,3,5,11,23]\n",
"for item in x:\n",
" print(item)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "NcXdXS5UX5pN",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "4640e3db-b461-4604-aa79-0afebf16ec34"
},
"source": [
"# Indexing operator\n",
"i=0\n",
"while( i != len(x)/2 ):\n",
" print(x[i])\n",
" i = i + 1"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"1\n",
"2\n",
"3\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "FJhzLMSCX92f",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "233425dc-35b1-4947-da3f-b036dfa5a05e"
},
"source": [
"def add_numbers(x,y,z=None):\n",
" if (z==None):\n",
" return x+y\n",
" else:\n",
" return x+y+z\n",
"\n",
"add_numbers(1, 2)\n"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"3"
]
},
"metadata": {},
"execution_count": 41
}
]
},
{
"cell_type": "code",
"source": [
"add_numbers(1, 2, 3)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "PRlu1G99--kd",
"outputId": "948c42b9-62b2-4abf-c9f9-10c63ab33794"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"6"
]
},
"metadata": {},
"execution_count": 42
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "sbhjOucyYK6_"
},
"source": [
"def add_numbers(x, y, z=None, flag=False):\n",
" if (flag):\n",
" print('Flag is true!')\n",
" if (z==None):\n",
" return x + y\n",
" else:\n",
" return x + y + z\n",
"\n",
"add_numbers(1, 2, flag=True)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "NZp4dseWYN0e",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "c7853f50-9f49-4522-b9bd-2bdabcbac67f"
},
"source": [
"# Assign function \"add_numbers\" to variable \"a\".\n",
"def add_numbers(x,y):\n",
" return x+y\n",
"\n",
"a = add_numbers\n",
"a(1,2)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"3"
]
},
"metadata": {},
"execution_count": 43
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "tTipjjRGM8F7",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "55c7c31f-eae7-4586-9365-c155e4fc6873"
},
"source": [
"# Dictionaries associate keys with values.\n",
"x = {'sebastian restrepo': '[email protected]', 'Diego cruz': '[email protected]', 'joaquin guajo': '[email protected]'}\n",
"x['Diego cruz'] # Retrieve a value by using the indexing operator"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'[email protected]'"
]
},
"metadata": {},
"execution_count": 45
}
]
},
{
"cell_type": "code",
"source": [
"c = {}\n"
],
"metadata": {
"id": "F3kM5opo_d8B"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"c['sebastian']='@pascual'\n",
"c"
],
"metadata": {
"id": "hnqXYMp8AaPW"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
""
],
"metadata": {
"id": "UZpbM-6R_jIy"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "1KhXMFEiNrp1",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "77165723-c483-464b-81cc-3e89d05e043a"
},
"source": [
"# add a new key-value pair to a dictionary\n",
"x['carlos duarte'] = '[email protected]'\n",
"x"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"{'Diego cruz': '[email protected]',\n",
" 'carlos duarte': '[email protected]',\n",
" 'joaquin guajo': '[email protected]',\n",
" 'sebastian restrepo': '[email protected]'}"
]
},
"metadata": {},
"execution_count": 50
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "i59lsFHKOo50",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "74d78461-b38b-4b28-f13e-c0e4344bb113"
},
"source": [
"# Iterate over all of the keys:\n",
"for name in x:\n",
" #print(name)\n",
" print(x[name])"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[email protected]\n",
"[email protected]\n",
"[email protected]\n",
"[email protected]\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "oFHGVKe6Mktq",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "8994ab6b-5bac-4385-ec38-0c787fc60fe2"
},
"source": [
"x.values()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"dict_values(['[email protected]', '[email protected]', '[email protected]', '[email protected]'])"
]
},
"metadata": {},
"execution_count": 52
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "aR8V5HX_O1Kb",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "f490a6f5-3a40-442c-cd00-d16dfd79039e"
},
"source": [
"# Iterate over all of the values:\n",
"for email in x.values():\n",
" print(email)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[email protected]\n",
"[email protected]\n",
"[email protected]\n",
"[email protected]\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "XYT3LC1wPuV-"
},
"source": [
"for name, email in x.items():\n",
" print(name)\n",
" print(email)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "RSqwEtnEP5B1",
"outputId": "e9c7d5ca-b3a8-4a56-ecf7-78318ffa4b51",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"sales_record = {\n",
"'price': 3.24,\n",
"'num_items': 4,\n",
"'person': 'Sebastián'}\n",
"\n",
"sales_statement = '{} bought {} item(s) at a price of {} each for a total of {}'\n",
"\n",
"print(sales_statement.format(sales_record['person'],\n",
" sales_record['num_items'],\n",
" sales_record['price'],\n",
" sales_record['num_items']*sales_record['price']))"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Sebastián bought 4 item(s) at a price of 3.24 each for a total of 12.96\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"source": [
"# The Python Programming Language: Dates and Times"
],
"metadata": {
"id": "j8EM5hs8lJMv"
}
},
{
"cell_type": "code",
"source": [
"import datetime as dt\n",
"import time as tm"
],
"metadata": {
"id": "4lrka5U9lIWe"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# `time` returns the current time in seconds since the Epoch. (January 1st, 1970)\n",
"tm.time()"
],
"metadata": {
"id": "3vf52ibwlRZD",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "479617f6-f3c5-465b-aff9-612df4347fe2"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1645057191.4590802"
]
},
"metadata": {},
"execution_count": 56
}
]
},
{
"cell_type": "code",
"source": [
"dtnow = dt.datetime.fromtimestamp(tm.time())\n",
"dtnow"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "o7zPK8Hvlbug",
"outputId": "5550ec1b-f371-4266-8286-19516333ece2"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"datetime.datetime(2022, 2, 17, 0, 22, 24, 779835)"
]
},
"metadata": {},
"execution_count": 58
}
]
},
{
"cell_type": "code",
"source": [
"# get year, month, day, etc.from a datetime\n",
"dtnow.year, dtnow.month, dtnow.day, dtnow.hour, dtnow.minute, dtnow.second "
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "T3Eoi4kLlbnf",
"outputId": "921268c6-fce8-4c7b-902b-c7d3fe461425"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2022"
]
},
"metadata": {},
"execution_count": 34
}
]
},
{
"cell_type": "code",
"source": [
"dtnow.month"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "aiVFyVivEJlN",
"outputId": "5ae954a2-59bc-4e72-d733-03ef4047e24f"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2"
]
},
"metadata": {},
"execution_count": 59
}
]
},
{
"cell_type": "code",
"source": [
""
],
"metadata": {
"id": "hbVDYeGuDtaT"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# It's the difference between two dates\n",
"delta = dt.timedelta(days = 30) # create a timedelta of 30 days or 1 month\n",
"delta"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "3nzPRCkdlbdq",
"outputId": "5386a35a-d086-4827-f3e1-bc8f08ad1dac"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"datetime.timedelta(days=30)"
]
},
"metadata": {},
"execution_count": 63
}
]
},
{
"cell_type": "code",
"source": [
"# Current date\n",
"today = dt.date.today()\n",
"today"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "qECGmQKDl3Jw",
"outputId": "e9b18500-f0cb-41e0-b49b-b69623e00f9a"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"datetime.date(2022, 2, 17)"
]
},
"metadata": {},
"execution_count": 64
}
]
},
{
"cell_type": "code",
"source": [
"today - delta"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "I_o4XOLJlbcC",
"outputId": "6569787a-6d38-4837-ff71-2822f1da53a0"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"datetime.date(2022, 1, 18)"
]
},
"metadata": {},
"execution_count": 65
}
]
},
{
"cell_type": "code",
"source": [
"today > today-delta # compare dates"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "PF5mgXDdmnwL",
"outputId": "45d7b319-e288-4768-8da0-c2657c563f31"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"True"
]
},
"metadata": {},
"execution_count": 44
}
]
},
{
"cell_type": "markdown",
"source": [
"# Functional programming"
],
"metadata": {
"id": "uhrlOf5zm7v3"
}
},
{
"cell_type": "code",
"source": [
"# Dataset\n",
"store1 = [10.00, 11.00, 12.34, 2.34]\n",
"store2 = [9.00, 10.10, 11.34, 2.01]"
],
"metadata": {
"id": "cW_dPN2fnIsf"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"min(store1)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Q0r1nxMyFq9m",
"outputId": "44e2735f-73f9-410c-e9b4-adfd85d916c7"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2.34"
]
},
"metadata": {},
"execution_count": 67
}
]
},
{
"cell_type": "code",
"source": [
"# Mapping the `min` function between two lists.\n",
"cheapest = map(min, store1, store2)\n",
"cheapest"
],
"metadata": {
"id": "jZTPL2Evnaaz"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"for item in cheapest:\n",
" print(item)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "3zyi5cF2qV2F",
"outputId": "8c2c419e-9e98-417f-939a-c21d4eb388f6"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"9.0\n",
"10.1\n",
"11.34\n",
"2.01\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# Lambda\n",
"my_function = lambda a, b, c : a + b"
],
"metadata": {
"id": "tRajWj1sqkyV"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"my_function(1, 2, 3)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "JP-8_v4-q2VN",
"outputId": "104abf93-e301-49cc-bf03-e055e902dc54"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"3"
]
},
"metadata": {},
"execution_count": 72
}
]
},
{
"cell_type": "code",
"source": [
"# Let's iterate from 0 to 20 and return the even numbers.\n",
"my_list = []\n",
"for number in range(0, 20):\n",
" if number % 2 == 0:\n",
" my_list.append(number)\n",
"my_list"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "7ewaF2OLrAE-",
"outputId": "9ccc98c8-92fb-42cf-97b3-6fedbe4be6a4"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]"
]
},
"metadata": {},
"execution_count": 73
}
]
},
{
"cell_type": "code",
"source": [
"# List comprehension\n",
"my_list = [number for number in range(0,20) if number % 2 == 0]\n",
"my_list"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "SXnUHS4jrLmg",
"outputId": "d50e9796-7f7d-455b-c6a2-301063c7f83b"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]"
]
},
"metadata": {},
"execution_count": 58
}
]
},
{
"cell_type": "code",
"source": [
"reduce, filter"
],
"metadata": {
"id": "cx0kX2KnHgVE"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "mr7NqtJ2mBGy"
},
"source": [
"# Numerical Python (NumPy) Library\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "bVTkZUMnQR1U",
"outputId": "a97c59d3-9bc1-45ca-af71-63d38d7953e6",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"import numpy as np\n",
"# Create a list and convert it to a numpy array\n",
"mylist = [1, 2, 3]\n",
"x = np.array(mylist)\n",
"x"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([1, 2, 3])"
]
},
"metadata": {},
"execution_count": 74
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "JHe-moOrRDNC",
"outputId": "34e83cc2-d388-4a7c-efa1-9abaf15619ad",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"# Create a multidimensional array.\n",
"m = np.array([[7, 8, 9], [10, 11, 12]])\n",
"m"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 7, 8, 9],\n",
" [10, 11, 12]])"
]
},
"metadata": {},
"execution_count": 75
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "kxsFf8qcvgno",
"outputId": "fe42a5de-9a26-4ce7-b828-1548480b7609",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"# To find the dimensions of the array. (rows, columns)\n",
"m.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(2, 3)"
]
},
"metadata": {},
"execution_count": 76
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "AD_8P1wmYxP5",
"outputId": "1e52bdc6-2b67-4c74-8692-4f7153590ef9",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"# \"arange\" method returns evenly spaced values within a given interval.\n",
"n = np.arange(0, 30, 2) # start at 0 count up by 2, stop before 30\n",
"n"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28])"
]
},
"metadata": {},
"execution_count": 78
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "BmqP-XtoY-6G",
"outputId": "767ed31a-e0d4-447f-f999-c7cc33e47023",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"# \"reshape\" method returns an array with the same data with a new shape.\n",
"n = n.reshape(3, 5) # reshape array to be 3x5\n",
"n"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 0, 2, 4, 6, 8],\n",
" [10, 12, 14, 16, 18],\n",
" [20, 22, 24, 26, 28]])"
]
},
"metadata": {},
"execution_count": 79
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ydeJQCXVwFC4",
"outputId": "132f6ecd-b8c9-4d42-e1d2-399c6484051f",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"np.ones((3, 2))"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[1., 1.],\n",
" [1., 1.],\n",
" [1., 1.]])"
]
},
"metadata": {},
"execution_count": 81
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "jTYFhFzGjYqb",
"outputId": "431151ee-8be1-4dcc-d72b-bd55edfc33fb",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"np.zeros((5, 5))"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[0., 0., 0., 0., 0.],\n",
" [0., 0., 0., 0., 0.],\n",
" [0., 0., 0., 0., 0.],\n",
" [0., 0., 0., 0., 0.],\n",
" [0., 0., 0., 0., 0.]])"
]
},
"metadata": {},
"execution_count": 83
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "HUylD7Eqjfn8",
"outputId": "f43d6a5b-bc5e-4708-9e4e-7ca2c7eecb70",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"np.repeat([1, 2, 3], 3)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([1, 1, 1, 2, 2, 2, 3, 3, 3])"
]
},
"metadata": {},
"execution_count": 84
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "TxU2RIMzsz0h",
"outputId": "fae2edcf-ce6c-4a9b-c340-b0c01035b735",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"# Use \"vstack\" to stack arrays in sequence vertically (row wise).\n",
"p = np.ones([2, 3])\n",
"#2*p\n",
"np.vstack([p, 2*p])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[1., 1., 1.],\n",
" [1., 1., 1.],\n",
" [2., 2., 2.],\n",
" [2., 2., 2.]])"
]
},
"metadata": {},
"execution_count": 9
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "oxsDcvpItHEe",
"outputId": "c0a48b9b-d128-48ce-a34d-b8c0ab33aefe",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"# Use \"hstack\" to stack arrays in sequence horizontally (column wise).\n",
"np.hstack([p, 2*p])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[1., 1., 1., 2., 2., 2.],\n",
" [1., 1., 1., 2., 2., 2.]])"
]
},
"metadata": {},
"execution_count": 10
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "G9l3ZxW1a78J",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "a0aa0c46-ebc8-49e7-805d-dc1f8572cb91"
},
"source": [
"import numpy as np\n",
"a = np.array([[-4, -2, 2, 3, 5], [-4, -2, 1, 3, 5]])\n",
"a"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[-4, -2, 2, 3, 5],\n",
" [-4, -2, 1, 3, 5]])"
]
},
"metadata": {},
"execution_count": 4
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Am85_R7wbk6u",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "bc43b5d8-1d40-4e50-f784-348ca09565ed"
},
"source": [
"# Numpy has many built in math functions that can be performed on arrays.\n",
"a.sum()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"7"
]
},
"metadata": {},
"execution_count": 9
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Gsz6t3jTcbbD",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "d11ff355-759d-4403-ae6d-855e6264b45b"
},
"source": [
"a.max(axis=0)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([-4, -2, 2, 3, 5])"
]
},
"metadata": {},
"execution_count": 6
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "PWjvlkufccn5",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "3c8d395b-7d71-41af-f2ab-be5e8f1a6a02"
},
"source": [
"a.min(axis=1)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([-4, -4])"
]
},
"metadata": {},
"execution_count": 7
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "2PpY_Q7uci9R",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "59e3ae64-8e30-47bd-d198-5cca84aafc9d"
},
"source": [
"a.mean()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.7"
]
},
"metadata": {},
"execution_count": 8
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "d2r5aM3hclth",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "a2ba402a-298d-4677-eccb-f0007c5339c6"
},
"source": [
"a.std()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"3.287856444554719"
]
},
"metadata": {},
"execution_count": 10
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "_HGuTi95dBwc",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "febae42c-926e-4892-d4f1-6d70d9a2823c"
},
"source": [
"s = np.arange(13)**2\n",
"s"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144])"
]
},
"metadata": {},
"execution_count": 11
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "iBVVZYQSdLmB",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "701a585a-9338-47d5-f079-9f6dd3447d1d"
},
"source": [
"s[0], s[4], s[-1]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(0, 16, 144)"
]
},
"metadata": {},
"execution_count": 13
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "QwHF0zp6gYeO",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "3a97bdfd-d087-4148-b955-e3f1198668d6"
},
"source": [
"# A second \":\" can be used to indicate step-size. \"array[start:stop:stepsize]\"\n",
"s[0:4:2]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([0, 4])"
]
},
"metadata": {},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "JFBhUiuvg7to",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "8a5800c3-75e0-4fe8-8b63-62c469680b4a"
},
"source": [
"# Multidimensional array\n",
"r = np.arange(36)\n",
"r.resize((6, 8))\n",
"r"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 0, 1, 2, 3, 4, 5, 6, 7],\n",
" [ 8, 9, 10, 11, 12, 13, 14, 15],\n",
" [16, 17, 18, 19, 20, 21, 22, 23],\n",
" [24, 25, 26, 27, 28, 29, 30, 31],\n",
" [32, 33, 34, 35, 0, 0, 0, 0],\n",
" [ 0, 0, 0, 0, 0, 0, 0, 0]])"
]
},
"metadata": {},
"execution_count": 17
}
]
},
{
"cell_type": "code",
"source": [
"r.shape[1]"
],
"metadata": {
"id": "xT39b5Yx_3K9",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "c6affe31-ed21-4901-f9a8-48f984647b8f"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"8"
]
},
"metadata": {},
"execution_count": 21
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "xbPbvfnnhHGj",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "279225a2-3fd6-4484-da4b-708357a0caea"
},
"source": [
"r[2:4, 1:3]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[17, 18],\n",
" [25, 26]])"
]
},
"metadata": {},
"execution_count": 26
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "JBQVY-H4hUIc",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "128ba39c-55e6-48a0-c406-ad1686bc5974"
},
"source": [
"r[2:4, 3:6]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[19, 20, 21],\n",
" [27, 28, 29]])"
]
},
"metadata": {},
"execution_count": 27
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "4ypydm3KhhxT",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "f55728d4-2de4-493a-a13f-568a2ecf5154"
},
"source": [
"test = r > 15\n",
"test"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[False, False, False, False, False, False, False, False],\n",
" [False, False, False, False, False, False, False, False],\n",
" [ True, True, True, True, True, True, True, True],\n",
" [ True, True, True, True, True, True, True, True],\n",
" [ True, True, True, True, False, False, False, False],\n",
" [False, False, False, False, False, False, False, False]])"
]
},
"metadata": {},
"execution_count": 31
}
]
},
{
"cell_type": "code",
"source": [
"test2 = test == False\n",
"test2"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "K-0Zx4ynuAbI",
"outputId": "4c586ff0-42d3-4aac-9379-6964ca4851f1"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ True, True, True, True, True, True, True, True],\n",
" [ True, True, True, True, True, True, True, True],\n",
" [False, False, False, False, False, False, False, False],\n",
" [False, False, False, False, False, False, False, False],\n",
" [False, False, False, False, True, True, True, True],\n",
" [ True, True, True, True, True, True, True, True]])"
]
},
"metadata": {},
"execution_count": 39
}
]
},
{
"cell_type": "code",
"source": [
"np.count_nonzero(test2)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "fZqzMYEes5U-",
"outputId": "d3de2e2f-e545-4aa6-f2ae-29247a63e216"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"28"
]
},
"metadata": {},
"execution_count": 40
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "eRO_gmIDiOKG",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "21a77b10-cb0d-466b-c70f-dac6b2293f74"
},
"source": [
"# Create a 5 by 6 array of random numbers 0-9\n",
"matrix = np.random.randint(0, 10, (5,6))\n",
"matrix"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[1, 3, 5, 1, 9, 3],\n",
" [1, 3, 6, 9, 0, 3],\n",
" [4, 0, 2, 4, 4, 5],\n",
" [2, 1, 1, 7, 8, 5],\n",
" [9, 0, 2, 2, 8, 5]])"
]
},
"metadata": {},
"execution_count": 44
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "vRBKT7ffii0M",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "44f2e05b-b562-4152-ebfe-37159e7df613"
},
"source": [
"# Iterate by row:\n",
"data = []\n",
"for row in matrix:\n",
" data.append(row.max())\n",
" print(row.max())\n",
"type(data)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"9\n",
"9\n",
"5\n",
"8\n",
"9\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"list"
]
},
"metadata": {},
"execution_count": 45
}
]
},
{
"cell_type": "code",
"source": [
"range(5)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "5n2jZrVDvJUF",
"outputId": "91fe4c51-009b-4f45-fd68-415561ce4089"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"range(0, 5)"
]
},
"metadata": {},
"execution_count": 46
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "tgWXleQxjQua",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "0ef604de-0edd-4795-a87e-81ca39a322cb"
},
"source": [
"# Iterate by index\n",
"for i in range(len(matrix)):\n",
" \n",
" print('index: ' + str(i))\n",
" print(matrix[i])\n",
" print('-------------')"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"index: 0\n",
"[1 3 5 1 9 3]\n",
"-------------\n",
"index: 1\n",
"[1 3 6 9 0 3]\n",
"-------------\n",
"index: 2\n",
"[4 0 2 4 4 5]\n",
"-------------\n",
"index: 3\n",
"[2 1 1 7 8 5]\n",
"-------------\n",
"index: 4\n",
"[9 0 2 2 8 5]\n",
"-------------\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Ndf73YvljtO0",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "10b9cf1d-a267-49be-bb0e-b0ac418455a3"
},
"source": [
"for i, row in enumerate(matrix):\n",
" print('row', i, 'is', row)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"row 0 is [1 3 5 1 9 3]\n",
"row 1 is [1 3 6 9 0 3]\n",
"row 2 is [4 0 2 4 4 5]\n",
"row 3 is [2 1 1 7 8 5]\n",
"row 4 is [9 0 2 2 8 5]\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "gsjaSjzij5RB",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "871e6a92-b46c-4b86-9d9a-60827432a6b9"
},
"source": [
"matrix_two = matrix**2\n",
"matrix_two"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 1, 9, 25, 1, 81, 9],\n",
" [ 1, 9, 36, 81, 0, 9],\n",
" [16, 0, 4, 16, 16, 25],\n",
" [ 4, 1, 1, 49, 64, 25],\n",
" [81, 0, 4, 4, 64, 25]])"
]
},
"metadata": {},
"execution_count": 50
}
]
},
{
"cell_type": "code",
"source": [
"np.concatenate((matrix, matrix_two), axis=1)"
],
"metadata": {
"id": "V48vlr6TAtPm",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "9653dbd5-267f-452b-9e1d-6aa9148d97e8"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 1, 3, 5, 1, 9, 3, 1, 9, 25, 1, 81, 9],\n",
" [ 1, 3, 6, 9, 0, 3, 1, 9, 36, 81, 0, 9],\n",
" [ 4, 0, 2, 4, 4, 5, 16, 0, 4, 16, 16, 25],\n",
" [ 2, 1, 1, 7, 8, 5, 4, 1, 1, 49, 64, 25],\n",
" [ 9, 0, 2, 2, 8, 5, 81, 0, 4, 4, 64, 25]])"
]
},
"metadata": {},
"execution_count": 52
}
]
},
{
"cell_type": "code",
"source": [
"np.concatenate((matrix, matrix_two), axis=1)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "JSF2vqYrBS-L",
"outputId": "d222e3fd-bd41-48eb-ae96-65cd3491f570"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 9, 5, 1, 5, 0, 4, 81, 25, 1, 25, 0, 16],\n",
" [ 3, 4, 3, 5, 7, 7, 9, 16, 9, 25, 49, 49],\n",
" [ 6, 9, 2, 4, 8, 5, 36, 81, 4, 16, 64, 25],\n",
" [ 2, 7, 4, 7, 5, 3, 4, 49, 16, 49, 25, 9],\n",
" [ 7, 0, 1, 5, 3, 1, 49, 0, 1, 25, 9, 1]])"
]
},
"metadata": {},
"execution_count": 27
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Bxt9wFv4kBbb",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "99191c41-8896-4a1c-8dc2-1a368bcf0203"
},
"source": [
"# Use \"zip\" to iterate over multiple iterables.\n",
"for i, j in zip(matrix, matrix_two):\n",
" print(i,'*',j,'=',i*j)\n",
" print('--------------------------------------------------------------')"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[1 3 5 1 9 3] * [ 1 9 25 1 81 9] = [ 1 27 125 1 729 27]\n",
"--------------------------------------------------------------\n",
"[1 3 6 9 0 3] * [ 1 9 36 81 0 9] = [ 1 27 216 729 0 27]\n",
"--------------------------------------------------------------\n",
"[4 0 2 4 4 5] * [16 0 4 16 16 25] = [ 64 0 8 64 64 125]\n",
"--------------------------------------------------------------\n",
"[2 1 1 7 8 5] * [ 4 1 1 49 64 25] = [ 8 1 1 343 512 125]\n",
"--------------------------------------------------------------\n",
"[9 0 2 2 8 5] * [81 0 4 4 64 25] = [729 0 8 8 512 125]\n",
"--------------------------------------------------------------\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"matrix_three = matrix * matrix_two\n",
"matrix_three"
],
"metadata": {
"id": "vwmRkg8TBeEz",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "0a9b7560-de01-40b6-f412-0d819f89feb2"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 1, 27, 125, 1, 729, 27],\n",
" [ 1, 27, 216, 729, 0, 27],\n",
" [ 64, 0, 8, 64, 64, 125],\n",
" [ 8, 1, 1, 343, 512, 125],\n",
" [729, 0, 8, 8, 512, 125]])"
]
},
"metadata": {},
"execution_count": 54
}
]
},
{
"cell_type": "code",
"source": [
"matrix_three.transpose()"
],
"metadata": {
"id": "iNOb57w8B0IU",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "db69ba0d-4be0-4c44-b302-cce610f9bbce"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 1, 1, 64, 8, 729],\n",
" [ 27, 27, 0, 1, 0],\n",
" [125, 216, 8, 1, 8],\n",
" [ 1, 729, 64, 343, 8],\n",
" [729, 0, 64, 512, 512],\n",
" [ 27, 27, 125, 125, 125]])"
]
},
"metadata": {},
"execution_count": 55
}
]
},
{
"cell_type": "code",
"source": [
"matrix_three.T"
],
"metadata": {
"id": "k2n-lbc2CbOV",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "f2b825bf-0b7e-4f4f-de4d-616a59f1a51e"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 1, 1, 64, 8, 729],\n",
" [ 27, 27, 0, 1, 0],\n",
" [125, 216, 8, 1, 8],\n",
" [ 1, 729, 64, 343, 8],\n",
" [729, 0, 64, 512, 512],\n",
" [ 27, 27, 125, 125, 125]])"
]
},
"metadata": {},
"execution_count": 56
}
]
},
{
"cell_type": "markdown",
"source": [
"# Mean Squared Error formula\n",
"\n",
"![MSE.PNG](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVUAAABvCAYAAABcmlNRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABvPSURBVHhe7d0J2HzVHMDxSIjIkiiRUpFSUvmHNlu0SUTaSItkKRWlQrJlVyhlSxtCKi1I0aaNNqQSWlSytVtT1/M5z5z53/d2Z3ln7sy8/7ff93nOM/POve+dufee+zu/7fzOfEUQBEHQGCFUgyAIGiSEahAEQYOEUA2CIGiQEKpBEAQNEkI1CIKgQUKoBkEQNEgI1SAIggYJoRoEQdAgIVSDIAgaJIRqEARBg4RQDYIgaJAQqkEQBA0SQjUIgqBBQqgGQRA0SAjVIAiCBgmhGgRB0CAhVIMgCBokhGoQBEGDhFANgiBokBCqQRAEDRJCNZgnuOWWW4rDDjus2G233YqzzjqruPfee4vLLrusOOCAA4qDDz64+M9//tPaMwgmSwjVoC/++c9/Ft/61reSEPN+3JxzzjnFggsuWMw333zFc5/73GL//fcvFllkkfT3gx70oOK0005r7RkEkyWEatAVGuA3v/nNYpVVVkkCbIkllijuuuuu1tbx4TuXWmqp9Bu0nXfeufjpT39aPPzhD09/n3DCCa09g2CyhFANarnvvvuKv/zlL8W73/3utoaoLbbYYsXf//731l7j46qrrioe9rCHpd+w1VZbFXfffXdxzTXXFI94xCOKhRZaqLj++utbewbBZAmhGtTy3//+t7j66quTAP3MZz7TFqoPfehDi9///vetvcbHkUcemb7/UY96VHH55Zenz2jQPpszZ07xj3/8I30WBJMmhGrQk1/96ldtM5u2SNiOEy6IF7/4xen7X/ayl6UgFXbcccf02ac+9an0dxDMBEKoBj3529/+VjzxiU9MAmzhhRcubrrpptaW8XDjjTcmFwQt+bvf/W76jHvihS98YTH//PMX5557btKsg2AmEEI16AmhxuwmVB/5yEeO3X/5/e9//35aqgyExRdfPAlaGuupp56aPg+CSRNCNeiJgNVjH/vYJNhohtwB40Re6tprr12cd955rU+K4p577ile+tKXFo95zGOKQw89NDTVYMYQQjXoyR//+MekoRKqD37wg1PS/bjJGmqZO++8s7juuutafwXBzCCEatATgisHqmiqv/71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)"
],
"metadata": {
"id": "9iUOCjQqDJTj"
}
},
{
"cell_type": "code",
"source": [
"real_data = np.array([5, 4, 3, 4, 5, 6, 8, 5])\n",
"real_data "
],
"metadata": {
"id": "RY75q0E1C-bD",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "2630c2f8-1f40-4880-ffcd-5d40c5974e4b"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([5, 4, 3, 4, 5, 6, 8, 5])"
]
},
"metadata": {},
"execution_count": 58
}
]
},
{
"cell_type": "code",
"source": [
"prediction_data = np.array([3, 3.5, 3, 4.5, 3, 5, 8.8, 4.4])\n",
"prediction_data "
],
"metadata": {
"id": "xBlVIojHD6mU",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "04585414-7c93-47e1-cab6-c2f23983e976"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([3. , 3.5, 3. , 4.5, 3. , 5. , 8.8, 4.4])"
]
},
"metadata": {},
"execution_count": 59
}
]
},
{
"cell_type": "code",
"source": [
"n = len(real_data)\n",
"n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "bFz6jsQX1FvA",
"outputId": "6d84657f-7fc1-482a-8d39-963ca436551e"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"8"
]
},
"metadata": {},
"execution_count": 64
}
]
},
{
"cell_type": "code",
"source": [
"np.mean(np.square(real_data-prediction_data))"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "47F_rsrv0fs0",
"outputId": "858ca337-88b7-46ad-9991-79f78cf0fd9c"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1.3125"
]
},
"metadata": {},
"execution_count": 66
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "HjpZPv2LquON"
},
"source": [
"# Pandas Library\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "s_RPpCfQq0m0"
},
"source": [
"# Series Data structure\n",
"import pandas as pd\n",
"pd.Series?"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "FdYRkJ0arAUM",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "aa44b162-7a7c-4811-fb50-dc23c9423894"
},
"source": [
"subjects = ['Circuits', 'Programming', 'Physics']\n",
"pd.Series(subjects)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0 Circuits\n",
"1 Programming\n",
"2 Physics\n",
"dtype: object"
]
},
"metadata": {},
"execution_count": 68
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "UyMOCrTxsjew",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "25d3a126-9969-4b29-c192-acfd67f22f72"
},
"source": [
"numbers = [1, 2, 3]\n",
"pd.Series(numbers)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0 1\n",
"1 2\n",
"2 3\n",
"dtype: int64"
]
},
"metadata": {},
"execution_count": 69
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "VqRzLr6tsoKF",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "47e73ef0-6262-4cdd-e8c0-45da7a3b7317"
},
"source": [
"capitals = {'Colombia': 'Bogota',\n",
" 'USA': 'Washington D. C',\n",
" 'Japan': 'Tokio',\n",
" 'Argentina': 'Buenos Aires'}\n",
"c = pd.Series(capitals)\n",
"c"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Colombia Bogota\n",
"USA Washington D. C\n",
"Japan Tokio\n",
"Argentina Buenos Aires\n",
"dtype: object"
]
},
"metadata": {},
"execution_count": 70
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "eQluwY2qtUe5",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "7f7df46e-d93b-4c66-b942-1be2c75e13ec"
},
"source": [
"c.index"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Index(['Colombia', 'USA', 'Japan', 'Argentina'], dtype='object')"
]
},
"metadata": {},
"execution_count": 71
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "WJIW56Kltn1q",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "b5fa2e8c-a830-401a-8399-ca17d466d38f"
},
"source": [
"# Querying a Series option 1\n",
"c.loc['Colombia']"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'Bogota'"
]
},
"metadata": {},
"execution_count": 72
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "WZgDHqvhtzhy",
"outputId": "8f076e54-65b7-4af6-ee0f-8658d0d59ff8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
}
},
"source": [
"# Querying a Series option 2\n",
"c.iloc[0]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'Bogota'"
]
},
"metadata": {},
"execution_count": 73
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "-fcC_6YAuvbk",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "8659afeb-d9b2-460a-9a1f-7875c929d377"
},
"source": [
"#this creates a big series of random numbers\n",
"s = pd.Series(np.random.randint(0,1000,10000))\n",
"s.head(20)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"0 558\n",
"1 494\n",
"2 823\n",
"3 92\n",
"4 954\n",
" ... \n",
"9995 655\n",
"9996 341\n",
"9997 717\n",
"9998 28\n",
"9999 458\n",
"Length: 10000, dtype: int64\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "wQ0yg-NxuyCs",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "57619bbe-b532-455b-df64-ee648c404716"
},
"source": [
"s.shape"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(10000,)"
]
},
"metadata": {},
"execution_count": 77
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "URc0pPmKvAyL",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "4c880397-6fab-4b14-dd81-615e1ef7287f"
},
"source": [
"s = pd.Series([1, 2, 3])\n",
"s.loc['other_index'] = 'This is a string'\n",
"s"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0 1\n",
"1 2\n",
"2 3\n",
"other_index This is a string\n",
"dtype: object"
]
},
"metadata": {},
"execution_count": 79
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "VeZy8ZVEvyfx",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"outputId": "575eaf35-e06b-4c8a-8ab0-d88d2a43f7e5"
},
"source": [
"# The DataFrame Data Structure\n",
"\n",
"import pandas as pd\n",
"\n",
"purchase_1 = pd.Series({'Name': 'Sebastián',\n",
" 'Item Purchased': 'Tennis',\n",
" 'Cost': 42.50})\n",
"purchase_2 = pd.Series({'Name': 'Diego',\n",
" 'Item Purchased': 'Jeans',\n",
" 'Cost': 32.50})\n",
"purchase_3 = pd.Series({'Name': 'Joaquin',\n",
" 'Item Purchased': 'Cap',\n",
" 'Cost': 5.00}) \n",
"\n",
"purchase_4 = pd.Series({'Name': 'Santiago',\n",
" 'Item Purchased': 'Tennis',\n",
" 'Cost': 55.00})\n",
"\n",
"purchase_5 = pd.Series({'Name': 'Eliana',\n",
" 'Item Purchased': 'Jogger',\n",
" 'Cost': 35.00}) \n",
"\n",
"df = pd.DataFrame([purchase_1, purchase_2, purchase_3,purchase_4, purchase_5],index=['Store 1', 'Store 1', 'Store 2', 'Store 1', 'Store 2'])\n",
"df.head()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-65ba4fc7-845c-4328-a353-2380f471bad8\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-65ba4fc7-845c-4328-a353-2380f471bad8')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-65ba4fc7-845c-4328-a353-2380f471bad8 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-65ba4fc7-845c-4328-a353-2380f471bad8');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost\n",
"Store 1 Sebastián Tennis 42.5\n",
"Store 1 Diego Jeans 32.5\n",
"Store 2 Joaquin Cap 5.0\n",
"Store 1 Santiago Tennis 55.0\n",
"Store 2 Eliana Jogger 35.0"
]
},
"metadata": {},
"execution_count": 40
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "otjyHJ3AwrJO",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 143
},
"outputId": "79ea2030-9d87-466d-d5dc-52bff977def4"
},
"source": [
"df.loc['Store 1']"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-9f34c555-7966-4cb6-947b-e606113cf389\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-9f34c555-7966-4cb6-947b-e606113cf389')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-9f34c555-7966-4cb6-947b-e606113cf389 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-9f34c555-7966-4cb6-947b-e606113cf389');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost\n",
"Store 1 Sebastián Tennis 42.5\n",
"Store 1 Diego Jeans 32.5\n",
"Store 1 Santiago Tennis 55.0"
]
},
"metadata": {},
"execution_count": 81
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "mTayaAC7wzXN",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "dfb28d4c-4499-44fa-b6d3-00f94bc18960"
},
"source": [
"type(df.loc['Store 2'])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"pandas.core.frame.DataFrame"
]
},
"metadata": {},
"execution_count": 82
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "K2MnpTHPw3bF",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "e66a4bbe-d3bc-47da-fccd-ef97a3e80549"
},
"source": [
"df.loc['Store 1', 'Cost']"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Store 1 42.5\n",
"Store 1 32.5\n",
"Store 1 55.0\n",
"Name: Cost, dtype: float64"
]
},
"metadata": {},
"execution_count": 83
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "LSroJTVSw8iO",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "39533c08-075e-4aee-b082-85ae5168e269"
},
"source": [
"df.loc['Store 1']['Cost']"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Store 1 42.5\n",
"Store 1 32.5\n",
"Store 1 55.0\n",
"Name: Cost, dtype: float64"
]
},
"metadata": {},
"execution_count": 84
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "jPECRicexBDE",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"outputId": "e5ed7f46-6d38-48b6-a4c7-e9df9c248c1b"
},
"source": [
"df.loc[:,['Name', 'Cost']]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-6ffbdb4b-7ba0-4d2c-92eb-aaf066d39970\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Cost</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Sebastián</td>\n",
" <td>42.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Diego</td>\n",
" <td>32.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Joaquin</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Santiago</td>\n",
" <td>55.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Eliana</td>\n",
" <td>35.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-6ffbdb4b-7ba0-4d2c-92eb-aaf066d39970')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-6ffbdb4b-7ba0-4d2c-92eb-aaf066d39970 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-6ffbdb4b-7ba0-4d2c-92eb-aaf066d39970');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Cost\n",
"Store 1 Sebastián 42.5\n",
"Store 1 Diego 32.5\n",
"Store 2 Joaquin 5.0\n",
"Store 1 Santiago 55.0\n",
"Store 2 Eliana 35.0"
]
},
"metadata": {},
"execution_count": 86
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "NLTjLo3ixHRV"
},
"source": [
"f = df.drop('Store 1')"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"f"
],
"metadata": {
"id": "QUe6hZc5H4Hs",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 112
},
"outputId": "30e92544-565b-43a0-c0bc-320e757ed4fc"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-1a8280ee-b5a1-4006-ad59-96d958b2a6e4\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-1a8280ee-b5a1-4006-ad59-96d958b2a6e4')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-1a8280ee-b5a1-4006-ad59-96d958b2a6e4 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-1a8280ee-b5a1-4006-ad59-96d958b2a6e4');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost\n",
"Store 2 Joaquin Cap 5.0\n",
"Store 2 Eliana Jogger 35.0"
]
},
"metadata": {},
"execution_count": 90
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "zgwLk5mZyDzw",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"outputId": "7d64049d-dc4f-48c1-ddae-7d25f841bd28"
},
"source": [
"df['Location'] = None\n",
"df"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-97a474e8-2d87-48dd-8112-8b0ae90a0850\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Location</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-97a474e8-2d87-48dd-8112-8b0ae90a0850')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-97a474e8-2d87-48dd-8112-8b0ae90a0850 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-97a474e8-2d87-48dd-8112-8b0ae90a0850');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost Location\n",
"Store 1 Sebastián Tennis 42.5 None\n",
"Store 1 Diego Jeans 32.5 None\n",
"Store 2 Joaquin Cap 5.0 None\n",
"Store 1 Santiago Tennis 55.0 None\n",
"Store 2 Eliana Jogger 35.0 None"
]
},
"metadata": {},
"execution_count": 91
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "tosLbRu4yIOG",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 313
},
"outputId": "582d5e8d-2b9c-4236-c3cd-74cbaa009441"
},
"source": [
"df['Location']['Store 1'] = 'San diego'\n",
"df"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:1: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" \"\"\"Entry point for launching an IPython kernel.\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-33a01479-54c5-4959-8719-8e0c469943b1\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Location</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>San diego</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>San diego</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>San diego</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-33a01479-54c5-4959-8719-8e0c469943b1')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-33a01479-54c5-4959-8719-8e0c469943b1 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-33a01479-54c5-4959-8719-8e0c469943b1');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost Location\n",
"Store 1 Sebastián Tennis 42.5 San diego\n",
"Store 1 Diego Jeans 32.5 San diego\n",
"Store 2 Joaquin Cap 5.0 None\n",
"Store 1 Santiago Tennis 55.0 San diego\n",
"Store 2 Eliana Jogger 35.0 None"
]
},
"metadata": {},
"execution_count": 92
}
]
},
{
"cell_type": "code",
"source": [
"df['Location'].unique()"
],
"metadata": {
"id": "qHTDLHoMMOBi",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "600d7bea-1cca-4b1b-f46d-4b00362762f4"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array(['San diego', None], dtype=object)"
]
},
"metadata": {},
"execution_count": 94
}
]
},
{
"cell_type": "markdown",
"source": [
"# Importing CSV Files"
],
"metadata": {
"id": "qZKJlDvTMt3N"
}
},
{
"cell_type": "code",
"metadata": {
"id": "EGoKN5Ggy6fG",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 531
},
"outputId": "89414eb8-a630-44dd-f6dd-3d32c2fcacbf"
},
"source": [
"import pandas as pd\n",
"df = pd.read_csv('grades.csv')\n",
"df.head()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-b9b60e7f-1f1f-41ea-8b28-8c05408838b8\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>student_id</th>\n",
" <th>assignment1_grade</th>\n",
" <th>assignment1_submission</th>\n",
" <th>assignment2_grade</th>\n",
" <th>assignment2_submission</th>\n",
" <th>assignment3_grade</th>\n",
" <th>assignment3_submission</th>\n",
" <th>assignment4_grade</th>\n",
" <th>assignment4_submission</th>\n",
" <th>assignment5_grade</th>\n",
" <th>assignment5_submission</th>\n",
" <th>assignment6_grade</th>\n",
" <th>assignment6_submission</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>B73F2C11-70F0-E37D-8B10-1D20AFED50B1</td>\n",
" <td>92.733946</td>\n",
" <td>2015-11-02 06:55:34.282000000</td>\n",
" <td>83.030552</td>\n",
" <td>2015-11-09 02:22:58.938000000</td>\n",
" <td>67.164441</td>\n",
" <td>2015-11-12 08:58:33.998000000</td>\n",
" <td>53.011553</td>\n",
" <td>2015-11-16 01:21:24.663000000</td>\n",
" <td>47.710398</td>\n",
" <td>2015-11-20 13:24:59.692000000</td>\n",
" <td>38.168318</td>\n",
" <td>2015-11-22 18:31:15.934000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>98A0FAE0-A19A-13D2-4BB5-CFBFD94031D1</td>\n",
" <td>86.790821</td>\n",
" <td>2015-11-29 14:57:44.429000000</td>\n",
" <td>86.290821</td>\n",
" <td>2015-12-06 17:41:18.449000000</td>\n",
" <td>69.772657</td>\n",
" <td>2015-12-10 08:54:55.904000000</td>\n",
" <td>55.098125</td>\n",
" <td>2015-12-13 17:32:30.941000000</td>\n",
" <td>49.588313</td>\n",
" <td>2015-12-19 23:26:39.285000000</td>\n",
" <td>44.629482</td>\n",
" <td>2015-12-21 17:07:24.275000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>D0F62040-CEB0-904C-F563-2F8620916C4E</td>\n",
" <td>85.512541</td>\n",
" <td>2016-01-09 05:36:02.389000000</td>\n",
" <td>85.512541</td>\n",
" <td>2016-01-09 06:39:44.416000000</td>\n",
" <td>68.410033</td>\n",
" <td>2016-01-15 20:22:45.882000000</td>\n",
" <td>54.728026</td>\n",
" <td>2016-01-11 12:41:50.749000000</td>\n",
" <td>49.255224</td>\n",
" <td>2016-01-11 17:31:12.489000000</td>\n",
" <td>44.329701</td>\n",
" <td>2016-01-17 16:24:42.765000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>FFDF2B2C-F514-EF7F-6538-A6A53518E9DC</td>\n",
" <td>86.030665</td>\n",
" <td>2016-04-30 06:50:39.801000000</td>\n",
" <td>68.824532</td>\n",
" <td>2016-04-30 17:20:38.727000000</td>\n",
" <td>61.942079</td>\n",
" <td>2016-05-12 07:47:16.326000000</td>\n",
" <td>49.553663</td>\n",
" <td>2016-05-07 16:09:20.485000000</td>\n",
" <td>49.553663</td>\n",
" <td>2016-05-24 12:51:18.016000000</td>\n",
" <td>44.598297</td>\n",
" <td>2016-05-26 08:09:12.058000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5ECBEEB6-F1CE-80AE-3164-E45E99473FB4</td>\n",
" <td>64.813800</td>\n",
" <td>2015-12-13 17:06:10.750000000</td>\n",
" <td>51.491040</td>\n",
" <td>2015-12-14 12:25:12.056000000</td>\n",
" <td>41.932832</td>\n",
" <td>2015-12-29 14:25:22.594000000</td>\n",
" <td>36.929549</td>\n",
" <td>2015-12-28 01:29:55.901000000</td>\n",
" <td>33.236594</td>\n",
" <td>2015-12-29 14:46:06.628000000</td>\n",
" <td>33.236594</td>\n",
" <td>2016-01-05 01:06:59.546000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b9b60e7f-1f1f-41ea-8b28-8c05408838b8')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-b9b60e7f-1f1f-41ea-8b28-8c05408838b8 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-b9b60e7f-1f1f-41ea-8b28-8c05408838b8');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" student_id ... assignment6_submission\n",
"0 B73F2C11-70F0-E37D-8B10-1D20AFED50B1 ... 2015-11-22 18:31:15.934000000\n",
"1 98A0FAE0-A19A-13D2-4BB5-CFBFD94031D1 ... 2015-12-21 17:07:24.275000000\n",
"2 D0F62040-CEB0-904C-F563-2F8620916C4E ... 2016-01-17 16:24:42.765000000\n",
"3 FFDF2B2C-F514-EF7F-6538-A6A53518E9DC ... 2016-05-26 08:09:12.058000000\n",
"4 5ECBEEB6-F1CE-80AE-3164-E45E99473FB4 ... 2016-01-05 01:06:59.546000000\n",
"\n",
"[5 rows x 13 columns]"
]
},
"metadata": {},
"execution_count": 2
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "VwHgKQTYQ4t_",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "83cb4981-48c6-4ef0-ad28-a69c5ef1e17b"
},
"source": [
"len(df)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2315"
]
},
"metadata": {},
"execution_count": 3
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "4raqbp3NZ0tS",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "72866bb7-1b50-4030-95d4-fc84c497ab07"
},
"source": [
"df.columns"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Index(['student_id', 'assignment1_grade', 'assignment1_submission',\n",
" 'assignment2_grade', 'assignment2_submission', 'assignment3_grade',\n",
" 'assignment3_submission', 'assignment4_grade', 'assignment4_submission',\n",
" 'assignment5_grade', 'assignment5_submission', 'assignment6_grade',\n",
" 'assignment6_submission'],\n",
" dtype='object')"
]
},
"metadata": {},
"execution_count": 4
}
]
},
{
"cell_type": "code",
"source": [
"df.shape"
],
"metadata": {
"id": "mTVVxHJFJ0Or",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "2cafb264-487c-4b8e-d150-72ac91e989b5"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(2315, 13)"
]
},
"metadata": {},
"execution_count": 5
}
]
},
{
"cell_type": "code",
"source": [
"df['assignment1_submission'].count()"
],
"metadata": {
"id": "cE7sBIM3L-RC",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "9ec4d231-a9ea-447f-c0b7-c244b9ebe2fb"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2315"
]
},
"metadata": {},
"execution_count": 6
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ibxkwOH3Z_pB",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "3b8a455f-4164-4922-f688-bd79717453de"
},
"source": [
"df.iloc[0]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"student_id B73F2C11-70F0-E37D-8B10-1D20AFED50B1\n",
"assignment1_grade 92.733946\n",
"assignment1_submission 2015-11-02 06:55:34.282000000\n",
"assignment2_grade 83.030552\n",
"assignment2_submission 2015-11-09 02:22:58.938000000\n",
"assignment3_grade 67.164441\n",
"assignment3_submission 2015-11-12 08:58:33.998000000\n",
"assignment4_grade 53.011553\n",
"assignment4_submission 2015-11-16 01:21:24.663000000\n",
"assignment5_grade 47.710398\n",
"assignment5_submission 2015-11-20 13:24:59.692000000\n",
"assignment6_grade 38.168318\n",
"assignment6_submission 2015-11-22 18:31:15.934000000\n",
"Name: 0, dtype: object"
]
},
"metadata": {},
"execution_count": 7
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "m_H8bCDubtV_",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 562
},
"outputId": "56e4b0b0-192c-42e6-a610-d99ae4f19d0c"
},
"source": [
"df2 = df.set_index('student_id')\n",
"df2.head()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-f6ccf05a-5e7c-4a73-a818-74cc155c30ed\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>assignment1_grade</th>\n",
" <th>assignment1_submission</th>\n",
" <th>assignment2_grade</th>\n",
" <th>assignment2_submission</th>\n",
" <th>assignment3_grade</th>\n",
" <th>assignment3_submission</th>\n",
" <th>assignment4_grade</th>\n",
" <th>assignment4_submission</th>\n",
" <th>assignment5_grade</th>\n",
" <th>assignment5_submission</th>\n",
" <th>assignment6_grade</th>\n",
" <th>assignment6_submission</th>\n",
" </tr>\n",
" <tr>\n",
" <th>student_id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>B73F2C11-70F0-E37D-8B10-1D20AFED50B1</th>\n",
" <td>92.733946</td>\n",
" <td>2015-11-02 06:55:34.282000000</td>\n",
" <td>83.030552</td>\n",
" <td>2015-11-09 02:22:58.938000000</td>\n",
" <td>67.164441</td>\n",
" <td>2015-11-12 08:58:33.998000000</td>\n",
" <td>53.011553</td>\n",
" <td>2015-11-16 01:21:24.663000000</td>\n",
" <td>47.710398</td>\n",
" <td>2015-11-20 13:24:59.692000000</td>\n",
" <td>38.168318</td>\n",
" <td>2015-11-22 18:31:15.934000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98A0FAE0-A19A-13D2-4BB5-CFBFD94031D1</th>\n",
" <td>86.790821</td>\n",
" <td>2015-11-29 14:57:44.429000000</td>\n",
" <td>86.290821</td>\n",
" <td>2015-12-06 17:41:18.449000000</td>\n",
" <td>69.772657</td>\n",
" <td>2015-12-10 08:54:55.904000000</td>\n",
" <td>55.098125</td>\n",
" <td>2015-12-13 17:32:30.941000000</td>\n",
" <td>49.588313</td>\n",
" <td>2015-12-19 23:26:39.285000000</td>\n",
" <td>44.629482</td>\n",
" <td>2015-12-21 17:07:24.275000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>D0F62040-CEB0-904C-F563-2F8620916C4E</th>\n",
" <td>85.512541</td>\n",
" <td>2016-01-09 05:36:02.389000000</td>\n",
" <td>85.512541</td>\n",
" <td>2016-01-09 06:39:44.416000000</td>\n",
" <td>68.410033</td>\n",
" <td>2016-01-15 20:22:45.882000000</td>\n",
" <td>54.728026</td>\n",
" <td>2016-01-11 12:41:50.749000000</td>\n",
" <td>49.255224</td>\n",
" <td>2016-01-11 17:31:12.489000000</td>\n",
" <td>44.329701</td>\n",
" <td>2016-01-17 16:24:42.765000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>FFDF2B2C-F514-EF7F-6538-A6A53518E9DC</th>\n",
" <td>86.030665</td>\n",
" <td>2016-04-30 06:50:39.801000000</td>\n",
" <td>68.824532</td>\n",
" <td>2016-04-30 17:20:38.727000000</td>\n",
" <td>61.942079</td>\n",
" <td>2016-05-12 07:47:16.326000000</td>\n",
" <td>49.553663</td>\n",
" <td>2016-05-07 16:09:20.485000000</td>\n",
" <td>49.553663</td>\n",
" <td>2016-05-24 12:51:18.016000000</td>\n",
" <td>44.598297</td>\n",
" <td>2016-05-26 08:09:12.058000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5ECBEEB6-F1CE-80AE-3164-E45E99473FB4</th>\n",
" <td>64.813800</td>\n",
" <td>2015-12-13 17:06:10.750000000</td>\n",
" <td>51.491040</td>\n",
" <td>2015-12-14 12:25:12.056000000</td>\n",
" <td>41.932832</td>\n",
" <td>2015-12-29 14:25:22.594000000</td>\n",
" <td>36.929549</td>\n",
" <td>2015-12-28 01:29:55.901000000</td>\n",
" <td>33.236594</td>\n",
" <td>2015-12-29 14:46:06.628000000</td>\n",
" <td>33.236594</td>\n",
" <td>2016-01-05 01:06:59.546000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-f6ccf05a-5e7c-4a73-a818-74cc155c30ed')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-f6ccf05a-5e7c-4a73-a818-74cc155c30ed button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-f6ccf05a-5e7c-4a73-a818-74cc155c30ed');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" assignment1_grade ... assignment6_submission\n",
"student_id ... \n",
"B73F2C11-70F0-E37D-8B10-1D20AFED50B1 92.733946 ... 2015-11-22 18:31:15.934000000\n",
"98A0FAE0-A19A-13D2-4BB5-CFBFD94031D1 86.790821 ... 2015-12-21 17:07:24.275000000\n",
"D0F62040-CEB0-904C-F563-2F8620916C4E 85.512541 ... 2016-01-17 16:24:42.765000000\n",
"FFDF2B2C-F514-EF7F-6538-A6A53518E9DC 86.030665 ... 2016-05-26 08:09:12.058000000\n",
"5ECBEEB6-F1CE-80AE-3164-E45E99473FB4 64.813800 ... 2016-01-05 01:06:59.546000000\n",
"\n",
"[5 rows x 12 columns]"
]
},
"metadata": {},
"execution_count": 8
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Oaem1SGKb7j2",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "6d7aa5d6-8c2d-4005-93ef-a04c326017b2"
},
"source": [
"df2.loc['B73F2C11-70F0-E37D-8B10-1D20AFED50B1']"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"assignment1_grade 92.733946\n",
"assignment1_submission 2015-11-02 06:55:34.282000000\n",
"assignment2_grade 83.030552\n",
"assignment2_submission 2015-11-09 02:22:58.938000000\n",
"assignment3_grade 67.164441\n",
"assignment3_submission 2015-11-12 08:58:33.998000000\n",
"assignment4_grade 53.011553\n",
"assignment4_submission 2015-11-16 01:21:24.663000000\n",
"assignment5_grade 47.710398\n",
"assignment5_submission 2015-11-20 13:24:59.692000000\n",
"assignment6_grade 38.168318\n",
"assignment6_submission 2015-11-22 18:31:15.934000000\n",
"Name: B73F2C11-70F0-E37D-8B10-1D20AFED50B1, dtype: object"
]
},
"metadata": {},
"execution_count": 9
}
]
},
{
"cell_type": "code",
"source": [
"df['assignment1_submission'] <= '2015-12-31'"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ScXBglWF9gKN",
"outputId": "0f07e5a6-d754-4ec7-879b-90fa8f70f167"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0 True\n",
"1 True\n",
"2 False\n",
"3 False\n",
"4 True\n",
" ... \n",
"2310 False\n",
"2311 True\n",
"2312 True\n",
"2313 False\n",
"2314 True\n",
"Name: assignment1_submission, Length: 2315, dtype: bool"
]
},
"metadata": {},
"execution_count": 10
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "VsqJZ4BbRN-j",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 531
},
"outputId": "50ed74d2-482d-40fd-ec13-fa8f2bd5937b"
},
"source": [
"early = df[df['assignment1_submission'] <= '2015-12-31']\n",
"early.head()\n"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-f2e54659-a4ef-41ea-a0eb-b1a628543b85\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>student_id</th>\n",
" <th>assignment1_grade</th>\n",
" <th>assignment1_submission</th>\n",
" <th>assignment2_grade</th>\n",
" <th>assignment2_submission</th>\n",
" <th>assignment3_grade</th>\n",
" <th>assignment3_submission</th>\n",
" <th>assignment4_grade</th>\n",
" <th>assignment4_submission</th>\n",
" <th>assignment5_grade</th>\n",
" <th>assignment5_submission</th>\n",
" <th>assignment6_grade</th>\n",
" <th>assignment6_submission</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>B73F2C11-70F0-E37D-8B10-1D20AFED50B1</td>\n",
" <td>92.733946</td>\n",
" <td>2015-11-02 06:55:34.282000000</td>\n",
" <td>83.030552</td>\n",
" <td>2015-11-09 02:22:58.938000000</td>\n",
" <td>67.164441</td>\n",
" <td>2015-11-12 08:58:33.998000000</td>\n",
" <td>53.011553</td>\n",
" <td>2015-11-16 01:21:24.663000000</td>\n",
" <td>47.710398</td>\n",
" <td>2015-11-20 13:24:59.692000000</td>\n",
" <td>38.168318</td>\n",
" <td>2015-11-22 18:31:15.934000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>98A0FAE0-A19A-13D2-4BB5-CFBFD94031D1</td>\n",
" <td>86.790821</td>\n",
" <td>2015-11-29 14:57:44.429000000</td>\n",
" <td>86.290821</td>\n",
" <td>2015-12-06 17:41:18.449000000</td>\n",
" <td>69.772657</td>\n",
" <td>2015-12-10 08:54:55.904000000</td>\n",
" <td>55.098125</td>\n",
" <td>2015-12-13 17:32:30.941000000</td>\n",
" <td>49.588313</td>\n",
" <td>2015-12-19 23:26:39.285000000</td>\n",
" <td>44.629482</td>\n",
" <td>2015-12-21 17:07:24.275000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5ECBEEB6-F1CE-80AE-3164-E45E99473FB4</td>\n",
" <td>64.813800</td>\n",
" <td>2015-12-13 17:06:10.750000000</td>\n",
" <td>51.491040</td>\n",
" <td>2015-12-14 12:25:12.056000000</td>\n",
" <td>41.932832</td>\n",
" <td>2015-12-29 14:25:22.594000000</td>\n",
" <td>36.929549</td>\n",
" <td>2015-12-28 01:29:55.901000000</td>\n",
" <td>33.236594</td>\n",
" <td>2015-12-29 14:46:06.628000000</td>\n",
" <td>33.236594</td>\n",
" <td>2016-01-05 01:06:59.546000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>D09000A0-827B-C0FF-3433-BF8FF286E15B</td>\n",
" <td>71.647278</td>\n",
" <td>2015-12-28 04:35:32.836000000</td>\n",
" <td>64.052550</td>\n",
" <td>2016-01-03 21:05:38.392000000</td>\n",
" <td>64.752550</td>\n",
" <td>2016-01-07 08:55:43.692000000</td>\n",
" <td>57.467295</td>\n",
" <td>2016-01-11 00:45:28.706000000</td>\n",
" <td>57.467295</td>\n",
" <td>2016-01-11 00:54:13.579000000</td>\n",
" <td>57.467295</td>\n",
" <td>2016-01-20 19:54:46.166000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>C9D51293-BD58-F113-4167-A7C0BAFCB6E5</td>\n",
" <td>66.595568</td>\n",
" <td>2015-12-25 02:29:28.415000000</td>\n",
" <td>52.916454</td>\n",
" <td>2015-12-31 01:42:30.046000000</td>\n",
" <td>48.344809</td>\n",
" <td>2016-01-05 23:34:02.180000000</td>\n",
" <td>47.444809</td>\n",
" <td>2016-01-02 07:48:42.517000000</td>\n",
" <td>37.955847</td>\n",
" <td>2016-01-03 21:27:04.266000000</td>\n",
" <td>37.955847</td>\n",
" <td>2016-01-19 15:24:31.060000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-f2e54659-a4ef-41ea-a0eb-b1a628543b85')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-f2e54659-a4ef-41ea-a0eb-b1a628543b85 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-f2e54659-a4ef-41ea-a0eb-b1a628543b85');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" student_id ... assignment6_submission\n",
"0 B73F2C11-70F0-E37D-8B10-1D20AFED50B1 ... 2015-11-22 18:31:15.934000000\n",
"1 98A0FAE0-A19A-13D2-4BB5-CFBFD94031D1 ... 2015-12-21 17:07:24.275000000\n",
"4 5ECBEEB6-F1CE-80AE-3164-E45E99473FB4 ... 2016-01-05 01:06:59.546000000\n",
"5 D09000A0-827B-C0FF-3433-BF8FF286E15B ... 2016-01-20 19:54:46.166000000\n",
"8 C9D51293-BD58-F113-4167-A7C0BAFCB6E5 ... 2016-01-19 15:24:31.060000000\n",
"\n",
"[5 rows x 13 columns]"
]
},
"metadata": {},
"execution_count": 11
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "etQAAtl-RqdF",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "d81190c3-f121-4d4b-d92d-984f3d078c10"
},
"source": [
"len(early)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1256"
]
},
"metadata": {},
"execution_count": 12
}
]
},
{
"cell_type": "code",
"source": [
"len(early)/len(df)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "c7ec6MPT9yR6",
"outputId": "f6f3fd10-5b6d-4376-eb31-bb7fdcfc78ed"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.542548596112311"
]
},
"metadata": {},
"execution_count": 13
}
]
},
{
"cell_type": "code",
"source": [
""
],
"metadata": {
"id": "ITWajh0_LpZW"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Dy5irgYXgEL_",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "f0ea2b7c-8f9c-40fb-8a3e-e059b96d6dce"
},
"source": [
"early.rename(columns={'assignment1_submission': 'new_assignment1_submission'})"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-e4b6b4bb-e700-45b5-8d26-dc414bbd3346\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>student_id</th>\n",
" <th>assignment1_grade</th>\n",
" <th>new_assignment1_submission</th>\n",
" <th>assignment2_grade</th>\n",
" <th>assignment2_submission</th>\n",
" <th>assignment3_grade</th>\n",
" <th>assignment3_submission</th>\n",
" <th>assignment4_grade</th>\n",
" <th>assignment4_submission</th>\n",
" <th>assignment5_grade</th>\n",
" <th>assignment5_submission</th>\n",
" <th>assignment6_grade</th>\n",
" <th>assignment6_submission</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>B73F2C11-70F0-E37D-8B10-1D20AFED50B1</td>\n",
" <td>92.733946</td>\n",
" <td>2015-11-02 06:55:34.282000000</td>\n",
" <td>83.030552</td>\n",
" <td>2015-11-09 02:22:58.938000000</td>\n",
" <td>67.164441</td>\n",
" <td>2015-11-12 08:58:33.998000000</td>\n",
" <td>53.011553</td>\n",
" <td>2015-11-16 01:21:24.663000000</td>\n",
" <td>47.710398</td>\n",
" <td>2015-11-20 13:24:59.692000000</td>\n",
" <td>38.168318</td>\n",
" <td>2015-11-22 18:31:15.934000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>98A0FAE0-A19A-13D2-4BB5-CFBFD94031D1</td>\n",
" <td>86.790821</td>\n",
" <td>2015-11-29 14:57:44.429000000</td>\n",
" <td>86.290821</td>\n",
" <td>2015-12-06 17:41:18.449000000</td>\n",
" <td>69.772657</td>\n",
" <td>2015-12-10 08:54:55.904000000</td>\n",
" <td>55.098125</td>\n",
" <td>2015-12-13 17:32:30.941000000</td>\n",
" <td>49.588313</td>\n",
" <td>2015-12-19 23:26:39.285000000</td>\n",
" <td>44.629482</td>\n",
" <td>2015-12-21 17:07:24.275000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5ECBEEB6-F1CE-80AE-3164-E45E99473FB4</td>\n",
" <td>64.813800</td>\n",
" <td>2015-12-13 17:06:10.750000000</td>\n",
" <td>51.491040</td>\n",
" <td>2015-12-14 12:25:12.056000000</td>\n",
" <td>41.932832</td>\n",
" <td>2015-12-29 14:25:22.594000000</td>\n",
" <td>36.929549</td>\n",
" <td>2015-12-28 01:29:55.901000000</td>\n",
" <td>33.236594</td>\n",
" <td>2015-12-29 14:46:06.628000000</td>\n",
" <td>33.236594</td>\n",
" <td>2016-01-05 01:06:59.546000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>D09000A0-827B-C0FF-3433-BF8FF286E15B</td>\n",
" <td>71.647278</td>\n",
" <td>2015-12-28 04:35:32.836000000</td>\n",
" <td>64.052550</td>\n",
" <td>2016-01-03 21:05:38.392000000</td>\n",
" <td>64.752550</td>\n",
" <td>2016-01-07 08:55:43.692000000</td>\n",
" <td>57.467295</td>\n",
" <td>2016-01-11 00:45:28.706000000</td>\n",
" <td>57.467295</td>\n",
" <td>2016-01-11 00:54:13.579000000</td>\n",
" <td>57.467295</td>\n",
" <td>2016-01-20 19:54:46.166000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>C9D51293-BD58-F113-4167-A7C0BAFCB6E5</td>\n",
" <td>66.595568</td>\n",
" <td>2015-12-25 02:29:28.415000000</td>\n",
" <td>52.916454</td>\n",
" <td>2015-12-31 01:42:30.046000000</td>\n",
" <td>48.344809</td>\n",
" <td>2016-01-05 23:34:02.180000000</td>\n",
" <td>47.444809</td>\n",
" <td>2016-01-02 07:48:42.517000000</td>\n",
" <td>37.955847</td>\n",
" <td>2016-01-03 21:27:04.266000000</td>\n",
" <td>37.955847</td>\n",
" <td>2016-01-19 15:24:31.060000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2308</th>\n",
" <td>EFDA9F93-D0C3-864F-B0F6-2E9AA3E05E31</td>\n",
" <td>71.481182</td>\n",
" <td>2015-10-03 09:04:46.358000000</td>\n",
" <td>70.981182</td>\n",
" <td>2015-10-06 03:57:28.420000000</td>\n",
" <td>64.603064</td>\n",
" <td>2015-10-12 07:58:25.081000000</td>\n",
" <td>63.703064</td>\n",
" <td>2015-10-17 07:59:49.005000000</td>\n",
" <td>50.962451</td>\n",
" <td>2015-10-18 02:29:34.374000000</td>\n",
" <td>45.866206</td>\n",
" <td>2015-10-27 00:21:47.208000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2309</th>\n",
" <td>6D2AB78F-44F4-2E8B-5C5E-B79119BC7EAC</td>\n",
" <td>82.640274</td>\n",
" <td>2015-10-01 23:25:20.529000000</td>\n",
" <td>65.752219</td>\n",
" <td>2015-10-05 02:06:11.522000000</td>\n",
" <td>53.341775</td>\n",
" <td>2015-10-22 23:58:36.426000000</td>\n",
" <td>47.197598</td>\n",
" <td>2015-10-16 12:32:56.809000000</td>\n",
" <td>47.197598</td>\n",
" <td>2015-10-24 12:16:54.993000000</td>\n",
" <td>37.758078</td>\n",
" <td>2015-10-26 10:34:41.293000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2311</th>\n",
" <td>DE88902E-C7A7-E37A-CFA7-F2C8F2D219F2</td>\n",
" <td>75.367870</td>\n",
" <td>2015-11-29 02:43:27.932000000</td>\n",
" <td>59.934296</td>\n",
" <td>2015-12-03 05:30:39.218000000</td>\n",
" <td>48.687437</td>\n",
" <td>2015-12-09 15:56:44.895000000</td>\n",
" <td>43.008693</td>\n",
" <td>2015-12-13 06:18:01.342000000</td>\n",
" <td>38.707824</td>\n",
" <td>2015-12-20 02:39:39.248000000</td>\n",
" <td>38.707824</td>\n",
" <td>2015-12-22 13:34:42.931000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2312</th>\n",
" <td>EFDA9F93-D0C3-864F-B0F6-2E9AA3E05E31</td>\n",
" <td>73.269463</td>\n",
" <td>2015-10-20 08:09:27.418000000</td>\n",
" <td>58.255570</td>\n",
" <td>2015-11-18 19:07:06.930000000</td>\n",
" <td>58.955570</td>\n",
" <td>2015-12-10 08:54:54.871000000</td>\n",
" <td>52.250013</td>\n",
" <td>2015-11-23 19:40:00.434000000</td>\n",
" <td>41.800010</td>\n",
" <td>2015-11-29 14:23:43.659000000</td>\n",
" <td>41.800010</td>\n",
" <td>2015-12-04 09:56:07.156000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2314</th>\n",
" <td>DDE0526B-7DA4-80E8-C2A6-D097F3826029</td>\n",
" <td>80.318105</td>\n",
" <td>2015-10-04 09:46:03.403000000</td>\n",
" <td>79.818105</td>\n",
" <td>2015-10-06 10:28:30.820000000</td>\n",
" <td>64.594484</td>\n",
" <td>2015-10-13 17:06:29.179000000</td>\n",
" <td>50.955587</td>\n",
" <td>2015-10-06 16:18:35.513000000</td>\n",
" <td>40.764470</td>\n",
" <td>2015-10-23 17:03:26.939000000</td>\n",
" <td>40.764470</td>\n",
" <td>2015-10-26 15:56:55.460000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1256 rows × 13 columns</p>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-e4b6b4bb-e700-45b5-8d26-dc414bbd3346')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-e4b6b4bb-e700-45b5-8d26-dc414bbd3346 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-e4b6b4bb-e700-45b5-8d26-dc414bbd3346');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" student_id ... assignment6_submission\n",
"0 B73F2C11-70F0-E37D-8B10-1D20AFED50B1 ... 2015-11-22 18:31:15.934000000\n",
"1 98A0FAE0-A19A-13D2-4BB5-CFBFD94031D1 ... 2015-12-21 17:07:24.275000000\n",
"4 5ECBEEB6-F1CE-80AE-3164-E45E99473FB4 ... 2016-01-05 01:06:59.546000000\n",
"5 D09000A0-827B-C0FF-3433-BF8FF286E15B ... 2016-01-20 19:54:46.166000000\n",
"8 C9D51293-BD58-F113-4167-A7C0BAFCB6E5 ... 2016-01-19 15:24:31.060000000\n",
"... ... ... ...\n",
"2308 EFDA9F93-D0C3-864F-B0F6-2E9AA3E05E31 ... 2015-10-27 00:21:47.208000000\n",
"2309 6D2AB78F-44F4-2E8B-5C5E-B79119BC7EAC ... 2015-10-26 10:34:41.293000000\n",
"2311 DE88902E-C7A7-E37A-CFA7-F2C8F2D219F2 ... 2015-12-22 13:34:42.931000000\n",
"2312 EFDA9F93-D0C3-864F-B0F6-2E9AA3E05E31 ... 2015-12-04 09:56:07.156000000\n",
"2314 DDE0526B-7DA4-80E8-C2A6-D097F3826029 ... 2015-10-26 15:56:55.460000000\n",
"\n",
"[1256 rows x 13 columns]"
]
},
"metadata": {},
"execution_count": 14
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "c8pO5nr8R0aW",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "7d533f72-97ef-4482-dd39-7c1d89b1086e"
},
"source": [
"late = df[df['assignment1_submission'] > '2015-12-31']\n",
"late"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-5756dcc2-65c1-48ba-b1bf-baf1f69faeb4\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>student_id</th>\n",
" <th>assignment1_grade</th>\n",
" <th>assignment1_submission</th>\n",
" <th>assignment2_grade</th>\n",
" <th>assignment2_submission</th>\n",
" <th>assignment3_grade</th>\n",
" <th>assignment3_submission</th>\n",
" <th>assignment4_grade</th>\n",
" <th>assignment4_submission</th>\n",
" <th>assignment5_grade</th>\n",
" <th>assignment5_submission</th>\n",
" <th>assignment6_grade</th>\n",
" <th>assignment6_submission</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>D0F62040-CEB0-904C-F563-2F8620916C4E</td>\n",
" <td>85.512541</td>\n",
" <td>2016-01-09 05:36:02.389000000</td>\n",
" <td>85.512541</td>\n",
" <td>2016-01-09 06:39:44.416000000</td>\n",
" <td>68.410033</td>\n",
" <td>2016-01-15 20:22:45.882000000</td>\n",
" <td>54.728026</td>\n",
" <td>2016-01-11 12:41:50.749000000</td>\n",
" <td>49.255224</td>\n",
" <td>2016-01-11 17:31:12.489000000</td>\n",
" <td>44.329701</td>\n",
" <td>2016-01-17 16:24:42.765000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>FFDF2B2C-F514-EF7F-6538-A6A53518E9DC</td>\n",
" <td>86.030665</td>\n",
" <td>2016-04-30 06:50:39.801000000</td>\n",
" <td>68.824532</td>\n",
" <td>2016-04-30 17:20:38.727000000</td>\n",
" <td>61.942079</td>\n",
" <td>2016-05-12 07:47:16.326000000</td>\n",
" <td>49.553663</td>\n",
" <td>2016-05-07 16:09:20.485000000</td>\n",
" <td>49.553663</td>\n",
" <td>2016-05-24 12:51:18.016000000</td>\n",
" <td>44.598297</td>\n",
" <td>2016-05-26 08:09:12.058000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>3217BE3F-E4B0-C3B6-9F64-462456819CE4</td>\n",
" <td>87.498744</td>\n",
" <td>2016-03-05 11:05:25.408000000</td>\n",
" <td>69.998995</td>\n",
" <td>2016-03-09 07:29:52.405000000</td>\n",
" <td>55.999196</td>\n",
" <td>2016-03-16 22:31:24.316000000</td>\n",
" <td>50.399276</td>\n",
" <td>2016-03-18 07:19:26.032000000</td>\n",
" <td>45.359349</td>\n",
" <td>2016-03-19 10:35:41.869000000</td>\n",
" <td>45.359349</td>\n",
" <td>2016-03-23 14:02:00.987000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>F1CB5AA1-B3DE-5460-FAFF-BE951FD38B5F</td>\n",
" <td>80.576090</td>\n",
" <td>2016-01-24 18:24:25.619000000</td>\n",
" <td>72.518481</td>\n",
" <td>2016-01-27 13:37:12.943000000</td>\n",
" <td>65.266633</td>\n",
" <td>2016-01-30 14:34:36.581000000</td>\n",
" <td>65.266633</td>\n",
" <td>2016-02-03 22:08:49.002000000</td>\n",
" <td>65.266633</td>\n",
" <td>2016-02-16 14:22:23.664000000</td>\n",
" <td>65.266633</td>\n",
" <td>2016-02-18 08:35:04.796000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>E2C617C2-4654-622C-AB50-1550C4BE42A0</td>\n",
" <td>59.270882</td>\n",
" <td>2016-03-06 12:06:26.185000000</td>\n",
" <td>59.270882</td>\n",
" <td>2016-03-13 02:07:25.289000000</td>\n",
" <td>53.343794</td>\n",
" <td>2016-03-17 07:30:09.241000000</td>\n",
" <td>53.343794</td>\n",
" <td>2016-03-20 21:45:56.229000000</td>\n",
" <td>42.675035</td>\n",
" <td>2016-03-27 15:55:04.414000000</td>\n",
" <td>38.407532</td>\n",
" <td>2016-03-30 20:33:13.554000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2303</th>\n",
" <td>DDE0526B-7DA4-80E8-C2A6-D097F3826029</td>\n",
" <td>97.215052</td>\n",
" <td>2016-01-23 09:19:40.494000000</td>\n",
" <td>77.772041</td>\n",
" <td>2016-01-26 08:38:13.085000000</td>\n",
" <td>69.994837</td>\n",
" <td>2016-01-29 15:04:34.705000000</td>\n",
" <td>62.995353</td>\n",
" <td>2016-02-06 12:51:00.647000000</td>\n",
" <td>50.396283</td>\n",
" <td>2016-02-11 15:44:08.113000000</td>\n",
" <td>50.396283</td>\n",
" <td>2016-02-14 09:03:33.466000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2306</th>\n",
" <td>DDE0526B-7DA4-80E8-C2A6-D097F3826029</td>\n",
" <td>47.696703</td>\n",
" <td>2016-06-22 20:21:58.182000000</td>\n",
" <td>38.157363</td>\n",
" <td>2016-06-23 18:22:45.622000000</td>\n",
" <td>38.157363</td>\n",
" <td>2016-07-02 22:18:59.529000000</td>\n",
" <td>30.525890</td>\n",
" <td>2016-06-28 22:05:38.100000000</td>\n",
" <td>30.525890</td>\n",
" <td>2016-07-09 20:08:14.734000000</td>\n",
" <td>30.525890</td>\n",
" <td>2016-07-17 15:17:58.502000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2307</th>\n",
" <td>1F51E050-78F7-F270-1B90-ED1BC0376763</td>\n",
" <td>94.595758</td>\n",
" <td>2016-01-20 23:22:16.592000000</td>\n",
" <td>85.136182</td>\n",
" <td>2016-01-27 22:30:29.914000000</td>\n",
" <td>76.622564</td>\n",
" <td>2016-01-31 15:39:45.088000000</td>\n",
" <td>68.960307</td>\n",
" <td>2016-02-06 21:43:05.836000000</td>\n",
" <td>62.064277</td>\n",
" <td>2016-02-14 18:52:48.594000000</td>\n",
" <td>49.651421</td>\n",
" <td>2016-02-19 20:36:16.121000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2310</th>\n",
" <td>DE88902E-C7A7-E37A-CFA7-F2C8F2D219F2</td>\n",
" <td>77.684611</td>\n",
" <td>2016-03-07 02:52:24.378000000</td>\n",
" <td>69.916150</td>\n",
" <td>2016-03-11 22:02:39.161000000</td>\n",
" <td>69.916150</td>\n",
" <td>2016-03-17 07:30:09.261000000</td>\n",
" <td>69.916150</td>\n",
" <td>2016-03-18 18:01:24.525000000</td>\n",
" <td>55.932920</td>\n",
" <td>2016-03-20 06:38:12.120000000</td>\n",
" <td>50.339628</td>\n",
" <td>2016-03-25 11:00:06.923000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2313</th>\n",
" <td>1F51E050-78F7-F270-1B90-ED1BC0376763</td>\n",
" <td>87.268366</td>\n",
" <td>2016-04-03 09:04:51.646000000</td>\n",
" <td>87.268366</td>\n",
" <td>2016-04-08 19:24:29.095000000</td>\n",
" <td>87.268366</td>\n",
" <td>2016-04-12 05:43:33.853000000</td>\n",
" <td>69.814693</td>\n",
" <td>2016-04-14 10:43:58.104000000</td>\n",
" <td>55.851754</td>\n",
" <td>2016-04-19 05:37:19.322000000</td>\n",
" <td>55.851754</td>\n",
" <td>2016-04-23 03:44:06.813000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1059 rows × 13 columns</p>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-5756dcc2-65c1-48ba-b1bf-baf1f69faeb4')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-5756dcc2-65c1-48ba-b1bf-baf1f69faeb4 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-5756dcc2-65c1-48ba-b1bf-baf1f69faeb4');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" student_id ... assignment6_submission\n",
"2 D0F62040-CEB0-904C-F563-2F8620916C4E ... 2016-01-17 16:24:42.765000000\n",
"3 FFDF2B2C-F514-EF7F-6538-A6A53518E9DC ... 2016-05-26 08:09:12.058000000\n",
"6 3217BE3F-E4B0-C3B6-9F64-462456819CE4 ... 2016-03-23 14:02:00.987000000\n",
"7 F1CB5AA1-B3DE-5460-FAFF-BE951FD38B5F ... 2016-02-18 08:35:04.796000000\n",
"9 E2C617C2-4654-622C-AB50-1550C4BE42A0 ... 2016-03-30 20:33:13.554000000\n",
"... ... ... ...\n",
"2303 DDE0526B-7DA4-80E8-C2A6-D097F3826029 ... 2016-02-14 09:03:33.466000000\n",
"2306 DDE0526B-7DA4-80E8-C2A6-D097F3826029 ... 2016-07-17 15:17:58.502000000\n",
"2307 1F51E050-78F7-F270-1B90-ED1BC0376763 ... 2016-02-19 20:36:16.121000000\n",
"2310 DE88902E-C7A7-E37A-CFA7-F2C8F2D219F2 ... 2016-03-25 11:00:06.923000000\n",
"2313 1F51E050-78F7-F270-1B90-ED1BC0376763 ... 2016-04-23 03:44:06.813000000\n",
"\n",
"[1059 rows x 13 columns]"
]
},
"metadata": {},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "QisV4szPSTGV",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "a70722a7-2f3a-4a62-bcaf-cd211a1055d8"
},
"source": [
"early.mean()"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:1: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.\n",
" \"\"\"Entry point for launching an IPython kernel.\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"assignment1_grade 74.972741\n",
"assignment2_grade 67.252190\n",
"assignment3_grade 61.129050\n",
"assignment4_grade 54.157620\n",
"assignment5_grade 48.634643\n",
"assignment6_grade 43.838980\n",
"dtype: float64"
]
},
"metadata": {},
"execution_count": 16
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "pofudLPxS4GQ",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "024e74bd-a300-446c-cb93-e712a365f24a"
},
"source": [
"late.mean()"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:1: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.\n",
" \"\"\"Entry point for launching an IPython kernel.\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"assignment1_grade 74.017429\n",
"assignment2_grade 66.370822\n",
"assignment3_grade 60.023244\n",
"assignment4_grade 54.058138\n",
"assignment5_grade 48.599402\n",
"assignment6_grade 43.844384\n",
"dtype: float64"
]
},
"metadata": {},
"execution_count": 17
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "8fC6kM88UBhv"
},
"source": [
"early.reset_index(drop=True)\n"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "_u6z92L6WpGQ",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 565
},
"outputId": "ffa4254e-d6d2-4292-de3f-7d13a0388519"
},
"source": [
"# ¿Cuanto fue la nota promedio por estudiante?\n",
"df['assignment_mean'] = df.mean(axis=1)\n",
"df.head()"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:2: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.\n",
" \n"
]
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-7177ad01-7871-4488-99e5-111f1580670b\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>student_id</th>\n",
" <th>assignment1_grade</th>\n",
" <th>assignment1_submission</th>\n",
" <th>assignment2_grade</th>\n",
" <th>assignment2_submission</th>\n",
" <th>assignment3_grade</th>\n",
" <th>assignment3_submission</th>\n",
" <th>assignment4_grade</th>\n",
" <th>assignment4_submission</th>\n",
" <th>assignment5_grade</th>\n",
" <th>assignment5_submission</th>\n",
" <th>assignment6_grade</th>\n",
" <th>assignment6_submission</th>\n",
" <th>assignment_mean</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>B73F2C11-70F0-E37D-8B10-1D20AFED50B1</td>\n",
" <td>92.733946</td>\n",
" <td>2015-11-02 06:55:34.282000000</td>\n",
" <td>83.030552</td>\n",
" <td>2015-11-09 02:22:58.938000000</td>\n",
" <td>67.164441</td>\n",
" <td>2015-11-12 08:58:33.998000000</td>\n",
" <td>53.011553</td>\n",
" <td>2015-11-16 01:21:24.663000000</td>\n",
" <td>47.710398</td>\n",
" <td>2015-11-20 13:24:59.692000000</td>\n",
" <td>38.168318</td>\n",
" <td>2015-11-22 18:31:15.934000000</td>\n",
" <td>63.636535</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>98A0FAE0-A19A-13D2-4BB5-CFBFD94031D1</td>\n",
" <td>86.790821</td>\n",
" <td>2015-11-29 14:57:44.429000000</td>\n",
" <td>86.290821</td>\n",
" <td>2015-12-06 17:41:18.449000000</td>\n",
" <td>69.772657</td>\n",
" <td>2015-12-10 08:54:55.904000000</td>\n",
" <td>55.098125</td>\n",
" <td>2015-12-13 17:32:30.941000000</td>\n",
" <td>49.588313</td>\n",
" <td>2015-12-19 23:26:39.285000000</td>\n",
" <td>44.629482</td>\n",
" <td>2015-12-21 17:07:24.275000000</td>\n",
" <td>65.361703</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>D0F62040-CEB0-904C-F563-2F8620916C4E</td>\n",
" <td>85.512541</td>\n",
" <td>2016-01-09 05:36:02.389000000</td>\n",
" <td>85.512541</td>\n",
" <td>2016-01-09 06:39:44.416000000</td>\n",
" <td>68.410033</td>\n",
" <td>2016-01-15 20:22:45.882000000</td>\n",
" <td>54.728026</td>\n",
" <td>2016-01-11 12:41:50.749000000</td>\n",
" <td>49.255224</td>\n",
" <td>2016-01-11 17:31:12.489000000</td>\n",
" <td>44.329701</td>\n",
" <td>2016-01-17 16:24:42.765000000</td>\n",
" <td>64.624678</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>FFDF2B2C-F514-EF7F-6538-A6A53518E9DC</td>\n",
" <td>86.030665</td>\n",
" <td>2016-04-30 06:50:39.801000000</td>\n",
" <td>68.824532</td>\n",
" <td>2016-04-30 17:20:38.727000000</td>\n",
" <td>61.942079</td>\n",
" <td>2016-05-12 07:47:16.326000000</td>\n",
" <td>49.553663</td>\n",
" <td>2016-05-07 16:09:20.485000000</td>\n",
" <td>49.553663</td>\n",
" <td>2016-05-24 12:51:18.016000000</td>\n",
" <td>44.598297</td>\n",
" <td>2016-05-26 08:09:12.058000000</td>\n",
" <td>60.083816</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5ECBEEB6-F1CE-80AE-3164-E45E99473FB4</td>\n",
" <td>64.813800</td>\n",
" <td>2015-12-13 17:06:10.750000000</td>\n",
" <td>51.491040</td>\n",
" <td>2015-12-14 12:25:12.056000000</td>\n",
" <td>41.932832</td>\n",
" <td>2015-12-29 14:25:22.594000000</td>\n",
" <td>36.929549</td>\n",
" <td>2015-12-28 01:29:55.901000000</td>\n",
" <td>33.236594</td>\n",
" <td>2015-12-29 14:46:06.628000000</td>\n",
" <td>33.236594</td>\n",
" <td>2016-01-05 01:06:59.546000000</td>\n",
" <td>43.606735</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7177ad01-7871-4488-99e5-111f1580670b')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-7177ad01-7871-4488-99e5-111f1580670b button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-7177ad01-7871-4488-99e5-111f1580670b');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" student_id ... assignment_mean\n",
"0 B73F2C11-70F0-E37D-8B10-1D20AFED50B1 ... 63.636535\n",
"1 98A0FAE0-A19A-13D2-4BB5-CFBFD94031D1 ... 65.361703\n",
"2 D0F62040-CEB0-904C-F563-2F8620916C4E ... 64.624678\n",
"3 FFDF2B2C-F514-EF7F-6538-A6A53518E9DC ... 60.083816\n",
"4 5ECBEEB6-F1CE-80AE-3164-E45E99473FB4 ... 43.606735\n",
"\n",
"[5 rows x 14 columns]"
]
},
"metadata": {},
"execution_count": 20
}
]
},
{
"cell_type": "code",
"source": [
"df['assignment_mean'].mean()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "esxMIL6aBl3P",
"outputId": "b3e16c65-06ba-4189-f4cf-885ab64e1e5d"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"58.09667041068115"
]
},
"metadata": {},
"execution_count": 21
}
]
},
{
"cell_type": "code",
"source": [
"df.mean()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "RL9jW110D_Wk",
"outputId": "3116b5b3-f72e-4bbb-b6c0-73b68d19f2e5"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:1: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.\n",
" \"\"\"Entry point for launching an IPython kernel.\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"assignment1_grade 74.535732\n",
"assignment2_grade 66.849007\n",
"assignment3_grade 60.623197\n",
"assignment4_grade 54.112112\n",
"assignment5_grade 48.618522\n",
"assignment6_grade 43.841452\n",
"assignment_mean 58.096670\n",
"dtype: float64"
]
},
"metadata": {},
"execution_count": 22
}
]
},
{
"cell_type": "code",
"source": [
"df.describe()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 300
},
"id": "kw0-TTX2E4aL",
"outputId": "918240a2-f754-45ea-c2cc-7a5943a2900b"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-8b59847a-5504-4b1c-8590-e18b5467099a\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>assignment1_grade</th>\n",
" <th>assignment2_grade</th>\n",
" <th>assignment3_grade</th>\n",
" <th>assignment4_grade</th>\n",
" <th>assignment5_grade</th>\n",
" <th>assignment6_grade</th>\n",
" <th>assignment_mean</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>2315.000000</td>\n",
" <td>2315.000000</td>\n",
" <td>2315.000000</td>\n",
" <td>2315.000000</td>\n",
" <td>2315.000000</td>\n",
" <td>2315.000000</td>\n",
" <td>2315.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>74.535732</td>\n",
" <td>66.849007</td>\n",
" <td>60.623197</td>\n",
" <td>54.112112</td>\n",
" <td>48.618522</td>\n",
" <td>43.841452</td>\n",
" <td>58.096670</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>16.353252</td>\n",
" <td>15.959210</td>\n",
" <td>15.492469</td>\n",
" <td>14.687431</td>\n",
" <td>13.927054</td>\n",
" <td>13.259413</td>\n",
" <td>14.058527</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>14.423297</td>\n",
" <td>12.980967</td>\n",
" <td>12.307682</td>\n",
" <td>9.126146</td>\n",
" <td>8.213531</td>\n",
" <td>7.392178</td>\n",
" <td>11.076457</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>63.670100</td>\n",
" <td>56.127794</td>\n",
" <td>49.866390</td>\n",
" <td>43.852636</td>\n",
" <td>38.859619</td>\n",
" <td>34.828619</td>\n",
" <td>48.530166</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>77.208365</td>\n",
" <td>68.142124</td>\n",
" <td>61.307206</td>\n",
" <td>54.442888</td>\n",
" <td>48.681165</td>\n",
" <td>43.172442</td>\n",
" <td>59.435131</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>87.502146</td>\n",
" <td>78.310880</td>\n",
" <td>71.292632</td>\n",
" <td>63.789234</td>\n",
" <td>57.662236</td>\n",
" <td>52.086086</td>\n",
" <td>68.150145</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>100.695583</td>\n",
" <td>99.936206</td>\n",
" <td>99.655813</td>\n",
" <td>98.755813</td>\n",
" <td>97.571739</td>\n",
" <td>97.571739</td>\n",
" <td>97.571739</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-8b59847a-5504-4b1c-8590-e18b5467099a')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-8b59847a-5504-4b1c-8590-e18b5467099a button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-8b59847a-5504-4b1c-8590-e18b5467099a');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" assignment1_grade assignment2_grade ... assignment6_grade assignment_mean\n",
"count 2315.000000 2315.000000 ... 2315.000000 2315.000000\n",
"mean 74.535732 66.849007 ... 43.841452 58.096670\n",
"std 16.353252 15.959210 ... 13.259413 14.058527\n",
"min 14.423297 12.980967 ... 7.392178 11.076457\n",
"25% 63.670100 56.127794 ... 34.828619 48.530166\n",
"50% 77.208365 68.142124 ... 43.172442 59.435131\n",
"75% 87.502146 78.310880 ... 52.086086 68.150145\n",
"max 100.695583 99.936206 ... 97.571739 97.571739\n",
"\n",
"[8 rows x 7 columns]"
]
},
"metadata": {},
"execution_count": 23
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "idMIVniHjnKt"
},
"source": [
"# ¿Cual fue el top 10 de estudiantes con mejor promedio?\n",
"df.sort_values(by=['assignment_mean'], ascending=False).head(10)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
""
],
"metadata": {
"id": "xH96NzXmEjdT"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# ¿Como calcular si el estudiante tiene un desempeño bajo, aceptable?"
],
"metadata": {
"id": "W2n4kjp0JXmg"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"def student_performance(value):\n",
"\n",
" if value <= 65:\n",
" performance = 'bad performance'\n",
"\n",
" elif value >= 65 and value <= 85:\n",
"\n",
" performance = 'acceptable performance'\n",
"\n",
" elif value > 85:\n",
"\n",
" performance = 'good performance'\n",
" \n",
" return performance\n",
"\n",
"student_performance(88)\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"id": "7VVP-on8HHFh",
"outputId": "fccd281d-7d44-4f89-bede-1cfd72778609"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'good performance'"
]
},
"metadata": {},
"execution_count": 27
}
]
},
{
"cell_type": "code",
"source": [
"df['performance']=df['assignment_mean'].apply(student_performance)"
],
"metadata": {
"id": "b82IMcYoHv5y"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df"
],
"metadata": {
"id": "Dd1U5PQHIS-I"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "tArB1aULCQdP"
},
"source": [
"df.head()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df4 = pd.read_excel('census.xlsx')\n"
],
"metadata": {
"id": "4T5ZZSDzNWpJ"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df4[df4['SUMLEV']==50]\n",
"df4"
],
"metadata": {
"id": "AQfiimb0SnKa",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 644
},
"outputId": "da03cff9-6e13-4bed-c250-d318bdf00e5f"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-212cfecc-a27f-415e-958a-3fe13755921b\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>SUMLEV</th>\n",
" <th>REGION</th>\n",
" <th>DIVISION</th>\n",
" <th>STATE</th>\n",
" <th>COUNTY</th>\n",
" <th>STNAME</th>\n",
" <th>CTYNAME</th>\n",
" <th>CENSUS2010POP</th>\n",
" <th>ESTIMATESBASE2010</th>\n",
" <th>POPESTIMATE2010</th>\n",
" <th>POPESTIMATE2011</th>\n",
" <th>POPESTIMATE2012</th>\n",
" <th>POPESTIMATE2013</th>\n",
" <th>POPESTIMATE2014</th>\n",
" <th>POPESTIMATE2015</th>\n",
" <th>NPOPCHG_2010</th>\n",
" <th>NPOPCHG_2011</th>\n",
" <th>NPOPCHG_2012</th>\n",
" <th>NPOPCHG_2013</th>\n",
" <th>NPOPCHG_2014</th>\n",
" <th>NPOPCHG_2015</th>\n",
" <th>BIRTHS2010</th>\n",
" <th>BIRTHS2011</th>\n",
" <th>BIRTHS2012</th>\n",
" <th>BIRTHS2013</th>\n",
" <th>BIRTHS2014</th>\n",
" <th>BIRTHS2015</th>\n",
" <th>DEATHS2010</th>\n",
" <th>DEATHS2011</th>\n",
" <th>DEATHS2012</th>\n",
" <th>DEATHS2013</th>\n",
" <th>DEATHS2014</th>\n",
" <th>DEATHS2015</th>\n",
" <th>NATURALINC2010</th>\n",
" <th>NATURALINC2011</th>\n",
" <th>NATURALINC2012</th>\n",
" <th>NATURALINC2013</th>\n",
" <th>NATURALINC2014</th>\n",
" <th>NATURALINC2015</th>\n",
" <th>INTERNATIONALMIG2010</th>\n",
" <th>...</th>\n",
" <th>RESIDUAL2013</th>\n",
" <th>RESIDUAL2014</th>\n",
" <th>RESIDUAL2015</th>\n",
" <th>GQESTIMATESBASE2010</th>\n",
" <th>GQESTIMATES2010</th>\n",
" <th>GQESTIMATES2011</th>\n",
" <th>GQESTIMATES2012</th>\n",
" <th>GQESTIMATES2013</th>\n",
" <th>GQESTIMATES2014</th>\n",
" <th>GQESTIMATES2015</th>\n",
" <th>RBIRTH2011</th>\n",
" <th>RBIRTH2012</th>\n",
" <th>RBIRTH2013</th>\n",
" <th>RBIRTH2014</th>\n",
" <th>RBIRTH2015</th>\n",
" <th>RDEATH2011</th>\n",
" <th>RDEATH2012</th>\n",
" <th>RDEATH2013</th>\n",
" <th>RDEATH2014</th>\n",
" <th>RDEATH2015</th>\n",
" <th>RNATURALINC2011</th>\n",
" <th>RNATURALINC2012</th>\n",
" <th>RNATURALINC2013</th>\n",
" <th>RNATURALINC2014</th>\n",
" <th>RNATURALINC2015</th>\n",
" <th>RINTERNATIONALMIG2011</th>\n",
" <th>RINTERNATIONALMIG2012</th>\n",
" <th>RINTERNATIONALMIG2013</th>\n",
" <th>RINTERNATIONALMIG2014</th>\n",
" <th>RINTERNATIONALMIG2015</th>\n",
" <th>RDOMESTICMIG2011</th>\n",
" <th>RDOMESTICMIG2012</th>\n",
" <th>RDOMESTICMIG2013</th>\n",
" <th>RDOMESTICMIG2014</th>\n",
" <th>RDOMESTICMIG2015</th>\n",
" <th>RNETMIG2011</th>\n",
" <th>RNETMIG2012</th>\n",
" <th>RNETMIG2013</th>\n",
" <th>RNETMIG2014</th>\n",
" <th>RNETMIG2015</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>40</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>Alabama</td>\n",
" <td>Alabama</td>\n",
" <td>4779736</td>\n",
" <td>4780127</td>\n",
" <td>4785161</td>\n",
" <td>4801108</td>\n",
" <td>4816089</td>\n",
" <td>4830533</td>\n",
" <td>4846411</td>\n",
" <td>4858979</td>\n",
" <td>5034</td>\n",
" <td>15947</td>\n",
" <td>14981</td>\n",
" <td>14444</td>\n",
" <td>15878</td>\n",
" <td>12568</td>\n",
" <td>14226</td>\n",
" <td>59689</td>\n",
" <td>59062</td>\n",
" <td>57938</td>\n",
" <td>58334</td>\n",
" <td>58305</td>\n",
" <td>11089</td>\n",
" <td>48811</td>\n",
" <td>48357</td>\n",
" <td>50843</td>\n",
" <td>50228</td>\n",
" <td>50330</td>\n",
" <td>3137</td>\n",
" <td>10878</td>\n",
" <td>10705</td>\n",
" <td>7095</td>\n",
" <td>8106</td>\n",
" <td>7975</td>\n",
" <td>1357</td>\n",
" <td>...</td>\n",
" <td>677</td>\n",
" <td>-573</td>\n",
" <td>1135</td>\n",
" <td>116185</td>\n",
" <td>116212</td>\n",
" <td>115560</td>\n",
" <td>115666</td>\n",
" <td>116963</td>\n",
" <td>119088</td>\n",
" <td>119599</td>\n",
" <td>1.245302e+10</td>\n",
" <td>12282580881</td>\n",
" <td>1.201208e+10</td>\n",
" <td>12056285538</td>\n",
" <td>12014973123</td>\n",
" <td>1.018352e+10</td>\n",
" <td>1.005636e+10</td>\n",
" <td>1.054110e+10</td>\n",
" <td>1.038096e+10</td>\n",
" <td>1.037156e+10</td>\n",
" <td>2.269496e+10</td>\n",
" <td>2.226220e+10</td>\n",
" <td>1.470981e+10</td>\n",
" <td>1.675322e+10</td>\n",
" <td>1.643417e+10</td>\n",
" <td>1.027720e+10</td>\n",
" <td>1.019840e+10</td>\n",
" <td>1.002216e+10</td>\n",
" <td>1.142716e+10</td>\n",
" <td>1.179963e+10</td>\n",
" <td>2.294949e-03</td>\n",
" <td>-1.931956e-01</td>\n",
" <td>3.810660e-01</td>\n",
" <td>5.820019e-01</td>\n",
" <td>-4.673692e-01</td>\n",
" <td>1.030015e+10</td>\n",
" <td>8.266442e-01</td>\n",
" <td>1.383282e+10</td>\n",
" <td>1.724718e+10</td>\n",
" <td>7.125937e-01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>50</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>Alabama</td>\n",
" <td>Autauga County</td>\n",
" <td>54571</td>\n",
" <td>54571</td>\n",
" <td>54660</td>\n",
" <td>55253</td>\n",
" <td>55175</td>\n",
" <td>55038</td>\n",
" <td>55290</td>\n",
" <td>55347</td>\n",
" <td>89</td>\n",
" <td>593</td>\n",
" <td>-78</td>\n",
" <td>-137</td>\n",
" <td>252</td>\n",
" <td>57</td>\n",
" <td>151</td>\n",
" <td>636</td>\n",
" <td>615</td>\n",
" <td>574</td>\n",
" <td>623</td>\n",
" <td>600</td>\n",
" <td>152</td>\n",
" <td>507</td>\n",
" <td>558</td>\n",
" <td>583</td>\n",
" <td>504</td>\n",
" <td>467</td>\n",
" <td>-1</td>\n",
" <td>129</td>\n",
" <td>57</td>\n",
" <td>-9</td>\n",
" <td>119</td>\n",
" <td>133</td>\n",
" <td>33</td>\n",
" <td>...</td>\n",
" <td>22</td>\n",
" <td>-10</td>\n",
" <td>45</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" <td>1.157279e+10</td>\n",
" <td>11138479371</td>\n",
" <td>1.041619e+10</td>\n",
" <td>11293597274</td>\n",
" <td>10846281081</td>\n",
" <td>9.225478e+10</td>\n",
" <td>1.010613e+10</td>\n",
" <td>1.057951e+10</td>\n",
" <td>9.136393e+07</td>\n",
" <td>8.442022e+10</td>\n",
" <td>2.347311e+10</td>\n",
" <td>1.032347e+10</td>\n",
" <td>-1.633201e-01</td>\n",
" <td>2.157204e+10</td>\n",
" <td>2.404259e+09</td>\n",
" <td>3.639242e-01</td>\n",
" <td>2.897816e-01</td>\n",
" <td>2.903469e-01</td>\n",
" <td>3.262998e-01</td>\n",
" <td>3.434656e-01</td>\n",
" <td>7.242091e+10</td>\n",
" <td>-2.915927e+08</td>\n",
" <td>-3.012349e+09</td>\n",
" <td>2.265971e+10</td>\n",
" <td>-2.530799e+09</td>\n",
" <td>7.606016e+10</td>\n",
" <td>-2.626146e+09</td>\n",
" <td>-2.722002e+09</td>\n",
" <td>2.592270e+10</td>\n",
" <td>-2.187333e+09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>50</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>Alabama</td>\n",
" <td>Baldwin County</td>\n",
" <td>182265</td>\n",
" <td>182265</td>\n",
" <td>183193</td>\n",
" <td>186659</td>\n",
" <td>190396</td>\n",
" <td>195126</td>\n",
" <td>199713</td>\n",
" <td>203709</td>\n",
" <td>928</td>\n",
" <td>3466</td>\n",
" <td>3737</td>\n",
" <td>4730</td>\n",
" <td>4587</td>\n",
" <td>3996</td>\n",
" <td>517</td>\n",
" <td>2187</td>\n",
" <td>2092</td>\n",
" <td>2160</td>\n",
" <td>2186</td>\n",
" <td>2240</td>\n",
" <td>532</td>\n",
" <td>1825</td>\n",
" <td>1879</td>\n",
" <td>1902</td>\n",
" <td>2044</td>\n",
" <td>1992</td>\n",
" <td>-15</td>\n",
" <td>362</td>\n",
" <td>213</td>\n",
" <td>258</td>\n",
" <td>142</td>\n",
" <td>248</td>\n",
" <td>69</td>\n",
" <td>...</td>\n",
" <td>91</td>\n",
" <td>434</td>\n",
" <td>58</td>\n",
" <td>2307</td>\n",
" <td>2307</td>\n",
" <td>2307</td>\n",
" <td>2249</td>\n",
" <td>2304</td>\n",
" <td>2308</td>\n",
" <td>2309</td>\n",
" <td>1.182635e+10</td>\n",
" <td>1109652438</td>\n",
" <td>1.120559e+10</td>\n",
" <td>11072867675</td>\n",
" <td>11104996753</td>\n",
" <td>9.868812e+10</td>\n",
" <td>9.966716e+10</td>\n",
" <td>9.867141e+10</td>\n",
" <td>1.035359e+10</td>\n",
" <td>9.875515e+10</td>\n",
" <td>1.957540e+10</td>\n",
" <td>1.129809e+10</td>\n",
" <td>1.338445e+10</td>\n",
" <td>7.192805e-01</td>\n",
" <td>1.229482e+10</td>\n",
" <td>1.011215e+10</td>\n",
" <td>9.123337e-01</td>\n",
" <td>8.819211e-01</td>\n",
" <td>1.073855e+10</td>\n",
" <td>1.095627e+10</td>\n",
" <td>1.483296e+10</td>\n",
" <td>1.764729e+10</td>\n",
" <td>2.184571e+10</td>\n",
" <td>1.924329e+10</td>\n",
" <td>1.719787e+10</td>\n",
" <td>1.584418e+10</td>\n",
" <td>1.855963e+09</td>\n",
" <td>2.272763e+10</td>\n",
" <td>2.031714e+10</td>\n",
" <td>1.829350e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>50</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>Alabama</td>\n",
" <td>Barbour County</td>\n",
" <td>27457</td>\n",
" <td>27457</td>\n",
" <td>27341</td>\n",
" <td>27226</td>\n",
" <td>27159</td>\n",
" <td>26973</td>\n",
" <td>26815</td>\n",
" <td>26489</td>\n",
" <td>-116</td>\n",
" <td>-115</td>\n",
" <td>-67</td>\n",
" <td>-186</td>\n",
" <td>-158</td>\n",
" <td>-326</td>\n",
" <td>70</td>\n",
" <td>335</td>\n",
" <td>300</td>\n",
" <td>283</td>\n",
" <td>260</td>\n",
" <td>269</td>\n",
" <td>128</td>\n",
" <td>319</td>\n",
" <td>291</td>\n",
" <td>294</td>\n",
" <td>310</td>\n",
" <td>309</td>\n",
" <td>-58</td>\n",
" <td>16</td>\n",
" <td>9</td>\n",
" <td>-11</td>\n",
" <td>-50</td>\n",
" <td>-40</td>\n",
" <td>2</td>\n",
" <td>...</td>\n",
" <td>19</td>\n",
" <td>-1</td>\n",
" <td>-5</td>\n",
" <td>3193</td>\n",
" <td>3193</td>\n",
" <td>3382</td>\n",
" <td>3388</td>\n",
" <td>3389</td>\n",
" <td>3353</td>\n",
" <td>3352</td>\n",
" <td>1.227848e+10</td>\n",
" <td>11032453802</td>\n",
" <td>1.045592e+09</td>\n",
" <td>96675838477</td>\n",
" <td>10093051178</td>\n",
" <td>1.169205e+10</td>\n",
" <td>1.070148e+10</td>\n",
" <td>1.086234e+10</td>\n",
" <td>1.152673e+10</td>\n",
" <td>1.159388e+10</td>\n",
" <td>5.864350e-01</td>\n",
" <td>3.309736e-01</td>\n",
" <td>-4.064140e-01</td>\n",
" <td>-1.859151e+08</td>\n",
" <td>-1.500825e+09</td>\n",
" <td>-1.466088e-01</td>\n",
" <td>-2.574239e-01</td>\n",
" <td>-1.108402e-01</td>\n",
" <td>-7.436603e-02</td>\n",
" <td>0.000000e+00</td>\n",
" <td>-4.728132e+09</td>\n",
" <td>-2.500690e+09</td>\n",
" <td>-7.056824e+08</td>\n",
" <td>-3.904217e+09</td>\n",
" <td>-1.054330e+09</td>\n",
" <td>-4.874741e+09</td>\n",
" <td>-2.758113e+08</td>\n",
" <td>-7.167664e+09</td>\n",
" <td>-3.978583e+09</td>\n",
" <td>-1.054330e+09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>50</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>7</td>\n",
" <td>Alabama</td>\n",
" <td>Bibb County</td>\n",
" <td>22915</td>\n",
" <td>22919</td>\n",
" <td>22861</td>\n",
" <td>22733</td>\n",
" <td>22642</td>\n",
" <td>22512</td>\n",
" <td>22549</td>\n",
" <td>22583</td>\n",
" <td>-58</td>\n",
" <td>-128</td>\n",
" <td>-91</td>\n",
" <td>-130</td>\n",
" <td>37</td>\n",
" <td>34</td>\n",
" <td>44</td>\n",
" <td>266</td>\n",
" <td>245</td>\n",
" <td>259</td>\n",
" <td>247</td>\n",
" <td>253</td>\n",
" <td>34</td>\n",
" <td>278</td>\n",
" <td>237</td>\n",
" <td>281</td>\n",
" <td>211</td>\n",
" <td>223</td>\n",
" <td>10</td>\n",
" <td>-12</td>\n",
" <td>8</td>\n",
" <td>-22</td>\n",
" <td>36</td>\n",
" <td>30</td>\n",
" <td>2</td>\n",
" <td>...</td>\n",
" <td>14</td>\n",
" <td>-16</td>\n",
" <td>-21</td>\n",
" <td>2224</td>\n",
" <td>2224</td>\n",
" <td>2224</td>\n",
" <td>2224</td>\n",
" <td>2224</td>\n",
" <td>2233</td>\n",
" <td>2236</td>\n",
" <td>1.166820e+10</td>\n",
" <td>10798898072</td>\n",
" <td>1.147185e+10</td>\n",
" <td>10962916935</td>\n",
" <td>1121155721</td>\n",
" <td>1.219459e+10</td>\n",
" <td>1.044628e+10</td>\n",
" <td>1.244629e+10</td>\n",
" <td>9.365083e+10</td>\n",
" <td>9.882124e+10</td>\n",
" <td>-5.263851e-01</td>\n",
" <td>3.526171e-01</td>\n",
" <td>-9.744430e-01</td>\n",
" <td>1.597834e+10</td>\n",
" <td>1.329434e+10</td>\n",
" <td>4.386542e-01</td>\n",
" <td>7.052342e-01</td>\n",
" <td>7.972716e-01</td>\n",
" <td>9.320699e-01</td>\n",
" <td>9.306036e-01</td>\n",
" <td>-5.527043e+09</td>\n",
" <td>-5.068871e+09</td>\n",
" <td>-6.201001e+09</td>\n",
" <td>-1.775371e-01</td>\n",
" <td>1.772578e-01</td>\n",
" <td>-5.088389e+09</td>\n",
" <td>-4.363636e+09</td>\n",
" <td>-5.403729e+09</td>\n",
" <td>7.545327e-01</td>\n",
" <td>1.107861e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3188</th>\n",
" <td>50</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>56</td>\n",
" <td>37</td>\n",
" <td>Wyoming</td>\n",
" <td>Sweetwater County</td>\n",
" <td>43806</td>\n",
" <td>43806</td>\n",
" <td>43593</td>\n",
" <td>44041</td>\n",
" <td>45104</td>\n",
" <td>45162</td>\n",
" <td>44925</td>\n",
" <td>44626</td>\n",
" <td>-213</td>\n",
" <td>448</td>\n",
" <td>1063</td>\n",
" <td>58</td>\n",
" <td>-237</td>\n",
" <td>-299</td>\n",
" <td>167</td>\n",
" <td>640</td>\n",
" <td>595</td>\n",
" <td>657</td>\n",
" <td>629</td>\n",
" <td>620</td>\n",
" <td>76</td>\n",
" <td>251</td>\n",
" <td>273</td>\n",
" <td>296</td>\n",
" <td>246</td>\n",
" <td>262</td>\n",
" <td>91</td>\n",
" <td>389</td>\n",
" <td>322</td>\n",
" <td>361</td>\n",
" <td>383</td>\n",
" <td>358</td>\n",
" <td>5</td>\n",
" <td>...</td>\n",
" <td>-64</td>\n",
" <td>14</td>\n",
" <td>-27</td>\n",
" <td>679</td>\n",
" <td>679</td>\n",
" <td>694</td>\n",
" <td>697</td>\n",
" <td>731</td>\n",
" <td>671</td>\n",
" <td>672</td>\n",
" <td>1.460620e+10</td>\n",
" <td>13349038084</td>\n",
" <td>1.455698e+10</td>\n",
" <td>13964278975</td>\n",
" <td>13846858215</td>\n",
" <td>5.728370e+10</td>\n",
" <td>6.124853e+09</td>\n",
" <td>6.558394e+10</td>\n",
" <td>5.461387e+10</td>\n",
" <td>5.851414e+10</td>\n",
" <td>8.877833e+10</td>\n",
" <td>7.224185e+10</td>\n",
" <td>7.998582e+10</td>\n",
" <td>8.502892e+10</td>\n",
" <td>7.995444e+09</td>\n",
" <td>1.825775e-01</td>\n",
" <td>0.000000e+00</td>\n",
" <td>4.431347e-02</td>\n",
" <td>1.776061e-01</td>\n",
" <td>1.786691e-01</td>\n",
" <td>1.072643e+10</td>\n",
" <td>1.624320e+10</td>\n",
" <td>-5.339774e+09</td>\n",
" <td>-1.425289e+09</td>\n",
" <td>-1.424886e+09</td>\n",
" <td>1.255221e+10</td>\n",
" <td>1.624320e+10</td>\n",
" <td>-5.295460e+09</td>\n",
" <td>-1.407528e+09</td>\n",
" <td>-1.407019e+09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3189</th>\n",
" <td>50</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>56</td>\n",
" <td>39</td>\n",
" <td>Wyoming</td>\n",
" <td>Teton County</td>\n",
" <td>21294</td>\n",
" <td>21294</td>\n",
" <td>21297</td>\n",
" <td>21482</td>\n",
" <td>21697</td>\n",
" <td>22347</td>\n",
" <td>22905</td>\n",
" <td>23125</td>\n",
" <td>3</td>\n",
" <td>185</td>\n",
" <td>215</td>\n",
" <td>650</td>\n",
" <td>558</td>\n",
" <td>220</td>\n",
" <td>76</td>\n",
" <td>259</td>\n",
" <td>230</td>\n",
" <td>261</td>\n",
" <td>249</td>\n",
" <td>269</td>\n",
" <td>10</td>\n",
" <td>87</td>\n",
" <td>61</td>\n",
" <td>97</td>\n",
" <td>68</td>\n",
" <td>76</td>\n",
" <td>66</td>\n",
" <td>172</td>\n",
" <td>169</td>\n",
" <td>164</td>\n",
" <td>181</td>\n",
" <td>193</td>\n",
" <td>5</td>\n",
" <td>...</td>\n",
" <td>20</td>\n",
" <td>8</td>\n",
" <td>-8</td>\n",
" <td>271</td>\n",
" <td>271</td>\n",
" <td>271</td>\n",
" <td>270</td>\n",
" <td>268</td>\n",
" <td>268</td>\n",
" <td>267</td>\n",
" <td>1.210874e+10</td>\n",
" <td>10653326849</td>\n",
" <td>1.185178e+10</td>\n",
" <td>11005038451</td>\n",
" <td>11688029546</td>\n",
" <td>4.067416e+10</td>\n",
" <td>2.825448e+10</td>\n",
" <td>4.404686e+10</td>\n",
" <td>3.005392e+10</td>\n",
" <td>3.302194e+10</td>\n",
" <td>8.041329e+10</td>\n",
" <td>7.827879e+10</td>\n",
" <td>7.447098e+10</td>\n",
" <td>7.999646e+10</td>\n",
" <td>8.385835e+10</td>\n",
" <td>2.244092e+10</td>\n",
" <td>1.435883e+09</td>\n",
" <td>1.634729e+10</td>\n",
" <td>2.165650e+09</td>\n",
" <td>2.085596e+10</td>\n",
" <td>-1.589565e+09</td>\n",
" <td>9.726951e-01</td>\n",
" <td>1.952593e+10</td>\n",
" <td>1.414302e+10</td>\n",
" <td>-5.648490e-01</td>\n",
" <td>6.545268e-01</td>\n",
" <td>2.408578e+10</td>\n",
" <td>2.116066e+10</td>\n",
" <td>1.630867e+09</td>\n",
" <td>1.520747e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3190</th>\n",
" <td>50</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>56</td>\n",
" <td>41</td>\n",
" <td>Wyoming</td>\n",
" <td>Uinta County</td>\n",
" <td>21118</td>\n",
" <td>21118</td>\n",
" <td>21102</td>\n",
" <td>20912</td>\n",
" <td>20989</td>\n",
" <td>21022</td>\n",
" <td>20903</td>\n",
" <td>20822</td>\n",
" <td>-16</td>\n",
" <td>-190</td>\n",
" <td>77</td>\n",
" <td>33</td>\n",
" <td>-119</td>\n",
" <td>-81</td>\n",
" <td>73</td>\n",
" <td>324</td>\n",
" <td>311</td>\n",
" <td>316</td>\n",
" <td>316</td>\n",
" <td>316</td>\n",
" <td>49</td>\n",
" <td>139</td>\n",
" <td>115</td>\n",
" <td>136</td>\n",
" <td>130</td>\n",
" <td>137</td>\n",
" <td>24</td>\n",
" <td>185</td>\n",
" <td>196</td>\n",
" <td>180</td>\n",
" <td>186</td>\n",
" <td>179</td>\n",
" <td>2</td>\n",
" <td>...</td>\n",
" <td>11</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>270</td>\n",
" <td>270</td>\n",
" <td>245</td>\n",
" <td>236</td>\n",
" <td>254</td>\n",
" <td>254</td>\n",
" <td>254</td>\n",
" <td>1.542343e+10</td>\n",
" <td>14844514451</td>\n",
" <td>1.504368e+10</td>\n",
" <td>15074537865</td>\n",
" <td>15146794488</td>\n",
" <td>6.616842e+09</td>\n",
" <td>5.489129e+10</td>\n",
" <td>6.474495e+10</td>\n",
" <td>6.201550e+10</td>\n",
" <td>6.566806e+10</td>\n",
" <td>8.806588e+10</td>\n",
" <td>9.355385e+09</td>\n",
" <td>8.569184e+10</td>\n",
" <td>8.872987e+10</td>\n",
" <td>8.579988e+10</td>\n",
" <td>-3.808254e-01</td>\n",
" <td>-6.205103e-01</td>\n",
" <td>-6.188855e-01</td>\n",
" <td>-5.247466e-01</td>\n",
" <td>-4.793289e-01</td>\n",
" <td>-1.775599e+08</td>\n",
" <td>-4.916350e+09</td>\n",
" <td>-6.902954e+09</td>\n",
" <td>-1.421586e+09</td>\n",
" <td>-1.212702e+09</td>\n",
" <td>-1.813681e+09</td>\n",
" <td>-5.536861e+09</td>\n",
" <td>-7.521840e+09</td>\n",
" <td>-1.474061e+09</td>\n",
" <td>-1.260635e+09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3191</th>\n",
" <td>50</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>56</td>\n",
" <td>43</td>\n",
" <td>Wyoming</td>\n",
" <td>Washakie County</td>\n",
" <td>8533</td>\n",
" <td>8533</td>\n",
" <td>8545</td>\n",
" <td>8469</td>\n",
" <td>8443</td>\n",
" <td>8443</td>\n",
" <td>8316</td>\n",
" <td>8328</td>\n",
" <td>12</td>\n",
" <td>-76</td>\n",
" <td>-26</td>\n",
" <td>0</td>\n",
" <td>-127</td>\n",
" <td>12</td>\n",
" <td>26</td>\n",
" <td>108</td>\n",
" <td>90</td>\n",
" <td>95</td>\n",
" <td>96</td>\n",
" <td>90</td>\n",
" <td>34</td>\n",
" <td>79</td>\n",
" <td>105</td>\n",
" <td>77</td>\n",
" <td>70</td>\n",
" <td>79</td>\n",
" <td>-8</td>\n",
" <td>29</td>\n",
" <td>-15</td>\n",
" <td>18</td>\n",
" <td>26</td>\n",
" <td>11</td>\n",
" <td>1</td>\n",
" <td>...</td>\n",
" <td>1</td>\n",
" <td>-2</td>\n",
" <td>-11</td>\n",
" <td>140</td>\n",
" <td>140</td>\n",
" <td>140</td>\n",
" <td>140</td>\n",
" <td>140</td>\n",
" <td>140</td>\n",
" <td>140</td>\n",
" <td>1.269543e+10</td>\n",
" <td>1064333018</td>\n",
" <td>1.125192e+10</td>\n",
" <td>11456530819</td>\n",
" <td>10814708003</td>\n",
" <td>9.286470e+10</td>\n",
" <td>1.241722e+10</td>\n",
" <td>9.119981e+10</td>\n",
" <td>8.353720e+09</td>\n",
" <td>9.492910e+10</td>\n",
" <td>3.408957e+10</td>\n",
" <td>-1.773888e+09</td>\n",
" <td>2.131944e+10</td>\n",
" <td>3.102810e+10</td>\n",
" <td>1.321798e+10</td>\n",
" <td>-3.526508e-01</td>\n",
" <td>-3.547777e-01</td>\n",
" <td>-2.368826e-01</td>\n",
" <td>-2.386777e-01</td>\n",
" <td>-2.403268e-01</td>\n",
" <td>-1.163748e+09</td>\n",
" <td>-8.278146e-01</td>\n",
" <td>-2.013502e+08</td>\n",
" <td>-1.778149e+09</td>\n",
" <td>1.682288e+10</td>\n",
" <td>-1.199013e+09</td>\n",
" <td>-1.182592e+09</td>\n",
" <td>-2.250385e+09</td>\n",
" <td>-1.802017e+09</td>\n",
" <td>1.441961e+10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3192</th>\n",
" <td>50</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>56</td>\n",
" <td>45</td>\n",
" <td>Wyoming</td>\n",
" <td>Weston County</td>\n",
" <td>7208</td>\n",
" <td>7208</td>\n",
" <td>7181</td>\n",
" <td>7114</td>\n",
" <td>7065</td>\n",
" <td>7160</td>\n",
" <td>7185</td>\n",
" <td>7234</td>\n",
" <td>-27</td>\n",
" <td>-67</td>\n",
" <td>-49</td>\n",
" <td>95</td>\n",
" <td>25</td>\n",
" <td>49</td>\n",
" <td>26</td>\n",
" <td>81</td>\n",
" <td>74</td>\n",
" <td>93</td>\n",
" <td>77</td>\n",
" <td>79</td>\n",
" <td>9</td>\n",
" <td>71</td>\n",
" <td>67</td>\n",
" <td>77</td>\n",
" <td>70</td>\n",
" <td>77</td>\n",
" <td>17</td>\n",
" <td>10</td>\n",
" <td>7</td>\n",
" <td>16</td>\n",
" <td>7</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>...</td>\n",
" <td>-9</td>\n",
" <td>7</td>\n",
" <td>-3</td>\n",
" <td>313</td>\n",
" <td>313</td>\n",
" <td>313</td>\n",
" <td>313</td>\n",
" <td>323</td>\n",
" <td>318</td>\n",
" <td>317</td>\n",
" <td>1.133263e+10</td>\n",
" <td>10437971648</td>\n",
" <td>1.307557e+10</td>\n",
" <td>10735447891</td>\n",
" <td>10957764061</td>\n",
" <td>9.933543e+10</td>\n",
" <td>9.450596e+10</td>\n",
" <td>1.082601e+10</td>\n",
" <td>9.759498e+09</td>\n",
" <td>1.068035e+10</td>\n",
" <td>1.399091e+10</td>\n",
" <td>9.873757e-01</td>\n",
" <td>2.249561e+10</td>\n",
" <td>9.759498e-01</td>\n",
" <td>2.774117e-01</td>\n",
" <td>-2.798181e-01</td>\n",
" <td>0.000000e+00</td>\n",
" <td>0.000000e+00</td>\n",
" <td>0.000000e+00</td>\n",
" <td>0.000000e+00</td>\n",
" <td>-1.175236e+09</td>\n",
" <td>-8.040059e+09</td>\n",
" <td>1.237258e+09</td>\n",
" <td>1.533635e+09</td>\n",
" <td>6.935294e+10</td>\n",
" <td>-1.203218e+09</td>\n",
" <td>-8.040059e+09</td>\n",
" <td>1.237258e+09</td>\n",
" <td>1.533635e+09</td>\n",
" <td>6.935294e+10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>3193 rows × 100 columns</p>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-212cfecc-a27f-415e-958a-3fe13755921b')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-212cfecc-a27f-415e-958a-3fe13755921b button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-212cfecc-a27f-415e-958a-3fe13755921b');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" SUMLEV REGION DIVISION ... RNETMIG2013 RNETMIG2014 RNETMIG2015\n",
"0 40 3 6 ... 1.383282e+10 1.724718e+10 7.125937e-01\n",
"1 50 3 6 ... -2.722002e+09 2.592270e+10 -2.187333e+09\n",
"2 50 3 6 ... 2.272763e+10 2.031714e+10 1.829350e+10\n",
"3 50 3 6 ... -7.167664e+09 -3.978583e+09 -1.054330e+09\n",
"4 50 3 6 ... -5.403729e+09 7.545327e-01 1.107861e+10\n",
"... ... ... ... ... ... ... ...\n",
"3188 50 4 8 ... -5.295460e+09 -1.407528e+09 -1.407019e+09\n",
"3189 50 4 8 ... 2.116066e+10 1.630867e+09 1.520747e+10\n",
"3190 50 4 8 ... -7.521840e+09 -1.474061e+09 -1.260635e+09\n",
"3191 50 4 8 ... -2.250385e+09 -1.802017e+09 1.441961e+10\n",
"3192 50 4 8 ... 1.237258e+09 1.533635e+09 6.935294e+10\n",
"\n",
"[3193 rows x 100 columns]"
]
},
"metadata": {},
"execution_count": 33
}
]
},
{
"cell_type": "code",
"source": [
"# ¿Cuales son los estados en analisis?\n",
"df4['STNAME'].unique()"
],
"metadata": {
"id": "dTGHNcSdS_RR",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "c278c3f6-bf4f-4895-b67c-609c1c4facf4"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array(['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',\n",
" 'Colorado', 'Connecticut', 'Delaware', 'District of Columbia',\n",
" 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana',\n",
" 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland',\n",
" 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi',\n",
" 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire',\n",
" 'New Jersey', 'New Mexico', 'New York', 'North Carolina',\n",
" 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania',\n",
" 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee',\n",
" 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington',\n",
" 'West Virginia', 'Wisconsin', 'Wyoming'], dtype=object)"
]
},
"metadata": {},
"execution_count": 32
}
]
},
{
"cell_type": "code",
"source": [
"import numpy as np\n",
"%time\n",
"# ¿Cuanto es la poblacion promedio por cada estado?\n",
"for state in df4['STNAME'].unique():\n",
" avg = np.average(df4.where(df4['STNAME']==state).dropna()['CENSUS2010POP'])\n",
" print('Counties in state ' + state + ' have an average population of ' + str(avg))"
],
"metadata": {
"id": "3V-xVnEdTFyB",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "eb366ab4-a35a-4d58-eb6b-62b165a770b2"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"CPU times: user 2 µs, sys: 0 ns, total: 2 µs\n",
"Wall time: 7.63 µs\n",
"Counties in state Alabama have an average population of 140580.4705882353\n",
"Counties in state Alaska have an average population of 47348.73333333333\n",
"Counties in state Arizona have an average population of 799002.125\n",
"Counties in state Arkansas have an average population of 76734.68421052632\n",
"Counties in state California have an average population of 1262845.9661016949\n",
"Counties in state Colorado have an average population of 154744.4923076923\n",
"Counties in state Connecticut have an average population of 794243.7777777778\n",
"Counties in state Delaware have an average population of 448967.0\n",
"Counties in state District of Columbia have an average population of 601723.0\n",
"Counties in state Florida have an average population of 552979.7058823529\n",
"Counties in state Georgia have an average population of 121095.6625\n",
"Counties in state Hawaii have an average population of 453433.6666666667\n",
"Counties in state Idaho have an average population of 69670.3111111111\n",
"Counties in state Illinois have an average population of 249138.4854368932\n",
"Counties in state Indiana have an average population of 139436.60215053763\n",
"Counties in state Iowa have an average population of 60927.1\n",
"Counties in state Kansas have an average population of 53832.41509433962\n",
"Counties in state Kentucky have an average population of 71725.07438016529\n",
"Counties in state Louisiana have an average population of 139488.36923076923\n",
"Counties in state Maine have an average population of 156277.76470588235\n",
"Counties in state Maryland have an average population of 461884.16\n",
"Counties in state Massachusetts have an average population of 873017.2\n",
"Counties in state Michigan have an average population of 235324.7619047619\n",
"Counties in state Minnesota have an average population of 120543.75\n",
"Counties in state Mississippi have an average population of 71501.13253012048\n",
"Counties in state Missouri have an average population of 103257.36206896552\n",
"Counties in state Montana have an average population of 34716.31578947369\n",
"Counties in state Nebraska have an average population of 38858.31914893617\n",
"Counties in state Nevada have an average population of 300061.22222222225\n",
"Counties in state New Hampshire have an average population of 239358.18181818182\n",
"Counties in state New Jersey have an average population of 799263.0909090909\n",
"Counties in state New Mexico have an average population of 121128.17647058824\n",
"Counties in state New York have an average population of 615177.8412698413\n",
"Counties in state North Carolina have an average population of 188821.44554455444\n",
"Counties in state North Dakota have an average population of 24910.777777777777\n",
"Counties in state Ohio have an average population of 259247.2808988764\n",
"Counties in state Oklahoma have an average population of 96188.48717948717\n",
"Counties in state Oregon have an average population of 207085.0810810811\n",
"Counties in state Pennsylvania have an average population of 373599.3823529412\n",
"Counties in state Rhode Island have an average population of 350855.6666666667\n",
"Counties in state South Carolina have an average population of 196824.0\n",
"Counties in state South Dakota have an average population of 24303.880597014926\n",
"Counties in state Tennessee have an average population of 132210.52083333334\n",
"Counties in state Texas have an average population of 197220.0862745098\n",
"Counties in state Utah have an average population of 184259.0\n",
"Counties in state Vermont have an average population of 83432.13333333333\n",
"Counties in state Virginia have an average population of 119371.83582089552\n",
"Counties in state Washington have an average population of 336227.0\n",
"Counties in state West Virginia have an average population of 66178.35714285714\n",
"Counties in state Wisconsin have an average population of 155807.83561643836\n",
"Counties in state Wyoming have an average population of 46968.833333333336\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"%time\n",
"for group, frame in df4.groupby('STNAME'):\n",
" avg = np.average(frame['CENSUS2010POP'])\n",
" print('Counties in state ' + group + ' have an average population of ' + str(avg))"
],
"metadata": {
"id": "d6rlGhWGTUVL",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "423c82e8-5471-46b5-caeb-3029460e3800"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"CPU times: user 4 µs, sys: 0 ns, total: 4 µs\n",
"Wall time: 9.3 µs\n",
"Counties in state Alabama have an average population of 140580.4705882353\n",
"Counties in state Alaska have an average population of 47348.73333333333\n",
"Counties in state Arizona have an average population of 799002.125\n",
"Counties in state Arkansas have an average population of 76734.68421052632\n",
"Counties in state California have an average population of 1262845.9661016949\n",
"Counties in state Colorado have an average population of 154744.4923076923\n",
"Counties in state Connecticut have an average population of 794243.7777777778\n",
"Counties in state Delaware have an average population of 448967.0\n",
"Counties in state District of Columbia have an average population of 601723.0\n",
"Counties in state Florida have an average population of 552979.7058823529\n",
"Counties in state Georgia have an average population of 121095.6625\n",
"Counties in state Hawaii have an average population of 453433.6666666667\n",
"Counties in state Idaho have an average population of 69670.3111111111\n",
"Counties in state Illinois have an average population of 249138.4854368932\n",
"Counties in state Indiana have an average population of 139436.60215053763\n",
"Counties in state Iowa have an average population of 60927.1\n",
"Counties in state Kansas have an average population of 53832.41509433962\n",
"Counties in state Kentucky have an average population of 71725.07438016529\n",
"Counties in state Louisiana have an average population of 139488.36923076923\n",
"Counties in state Maine have an average population of 156277.76470588235\n",
"Counties in state Maryland have an average population of 461884.16\n",
"Counties in state Massachusetts have an average population of 873017.2\n",
"Counties in state Michigan have an average population of 235324.7619047619\n",
"Counties in state Minnesota have an average population of 120543.75\n",
"Counties in state Mississippi have an average population of 71501.13253012048\n",
"Counties in state Missouri have an average population of 103257.36206896552\n",
"Counties in state Montana have an average population of 34716.31578947369\n",
"Counties in state Nebraska have an average population of 38858.31914893617\n",
"Counties in state Nevada have an average population of 300061.22222222225\n",
"Counties in state New Hampshire have an average population of 239358.18181818182\n",
"Counties in state New Jersey have an average population of 799263.0909090909\n",
"Counties in state New Mexico have an average population of 121128.17647058824\n",
"Counties in state New York have an average population of 615177.8412698413\n",
"Counties in state North Carolina have an average population of 188821.44554455444\n",
"Counties in state North Dakota have an average population of 24910.777777777777\n",
"Counties in state Ohio have an average population of 259247.2808988764\n",
"Counties in state Oklahoma have an average population of 96188.48717948717\n",
"Counties in state Oregon have an average population of 207085.0810810811\n",
"Counties in state Pennsylvania have an average population of 373599.3823529412\n",
"Counties in state Rhode Island have an average population of 350855.6666666667\n",
"Counties in state South Carolina have an average population of 196824.0\n",
"Counties in state South Dakota have an average population of 24303.880597014926\n",
"Counties in state Tennessee have an average population of 132210.52083333334\n",
"Counties in state Texas have an average population of 197220.0862745098\n",
"Counties in state Utah have an average population of 184259.0\n",
"Counties in state Vermont have an average population of 83432.13333333333\n",
"Counties in state Virginia have an average population of 119371.83582089552\n",
"Counties in state Washington have an average population of 336227.0\n",
"Counties in state West Virginia have an average population of 66178.35714285714\n",
"Counties in state Wisconsin have an average population of 155807.83561643836\n",
"Counties in state Wyoming have an average population of 46968.833333333336\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"df4.groupby('STNAME').agg({'CENSUS2010POP': np.average})"
],
"metadata": {
"id": "sPV8oYftQ3h_",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "d5b5803b-a28a-4e0b-cb4c-16b4d43eec0b"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-e57a87b3-31f5-48d1-8c51-313ffb54fff4\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>CENSUS2010POP</th>\n",
" </tr>\n",
" <tr>\n",
" <th>STNAME</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Alabama</th>\n",
" <td>1.405805e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Alaska</th>\n",
" <td>4.734873e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Arizona</th>\n",
" <td>7.990021e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Arkansas</th>\n",
" <td>7.673468e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>California</th>\n",
" <td>1.262846e+06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Colorado</th>\n",
" <td>1.547445e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Connecticut</th>\n",
" <td>7.942438e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Delaware</th>\n",
" <td>4.489670e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>District of Columbia</th>\n",
" <td>6.017230e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Florida</th>\n",
" <td>5.529797e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Georgia</th>\n",
" <td>1.210957e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Hawaii</th>\n",
" <td>4.534337e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Idaho</th>\n",
" <td>6.967031e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Illinois</th>\n",
" <td>2.491385e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Indiana</th>\n",
" <td>1.394366e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Iowa</th>\n",
" <td>6.092710e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kansas</th>\n",
" <td>5.383242e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kentucky</th>\n",
" <td>7.172507e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Louisiana</th>\n",
" <td>1.394884e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Maine</th>\n",
" <td>1.562778e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Maryland</th>\n",
" <td>4.618842e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Massachusetts</th>\n",
" <td>8.730172e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Michigan</th>\n",
" <td>2.353248e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Minnesota</th>\n",
" <td>1.205438e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Mississippi</th>\n",
" <td>7.150113e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Missouri</th>\n",
" <td>1.032574e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Montana</th>\n",
" <td>3.471632e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Nebraska</th>\n",
" <td>3.885832e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Nevada</th>\n",
" <td>3.000612e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>New Hampshire</th>\n",
" <td>2.393582e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>New Jersey</th>\n",
" <td>7.992631e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>New Mexico</th>\n",
" <td>1.211282e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>New York</th>\n",
" <td>6.151778e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>North Carolina</th>\n",
" <td>1.888214e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>North Dakota</th>\n",
" <td>2.491078e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ohio</th>\n",
" <td>2.592473e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Oklahoma</th>\n",
" <td>9.618849e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Oregon</th>\n",
" <td>2.070851e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Pennsylvania</th>\n",
" <td>3.735994e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Rhode Island</th>\n",
" <td>3.508557e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>South Carolina</th>\n",
" <td>1.968240e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>South Dakota</th>\n",
" <td>2.430388e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tennessee</th>\n",
" <td>1.322105e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Texas</th>\n",
" <td>1.972201e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Utah</th>\n",
" <td>1.842590e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Vermont</th>\n",
" <td>8.343213e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Virginia</th>\n",
" <td>1.193718e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Washington</th>\n",
" <td>3.362270e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>West Virginia</th>\n",
" <td>6.617836e+04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Wisconsin</th>\n",
" <td>1.558078e+05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Wyoming</th>\n",
" <td>4.696883e+04</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-e57a87b3-31f5-48d1-8c51-313ffb54fff4')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-e57a87b3-31f5-48d1-8c51-313ffb54fff4 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-e57a87b3-31f5-48d1-8c51-313ffb54fff4');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" CENSUS2010POP\n",
"STNAME \n",
"Alabama 1.405805e+05\n",
"Alaska 4.734873e+04\n",
"Arizona 7.990021e+05\n",
"Arkansas 7.673468e+04\n",
"California 1.262846e+06\n",
"Colorado 1.547445e+05\n",
"Connecticut 7.942438e+05\n",
"Delaware 4.489670e+05\n",
"District of Columbia 6.017230e+05\n",
"Florida 5.529797e+05\n",
"Georgia 1.210957e+05\n",
"Hawaii 4.534337e+05\n",
"Idaho 6.967031e+04\n",
"Illinois 2.491385e+05\n",
"Indiana 1.394366e+05\n",
"Iowa 6.092710e+04\n",
"Kansas 5.383242e+04\n",
"Kentucky 7.172507e+04\n",
"Louisiana 1.394884e+05\n",
"Maine 1.562778e+05\n",
"Maryland 4.618842e+05\n",
"Massachusetts 8.730172e+05\n",
"Michigan 2.353248e+05\n",
"Minnesota 1.205438e+05\n",
"Mississippi 7.150113e+04\n",
"Missouri 1.032574e+05\n",
"Montana 3.471632e+04\n",
"Nebraska 3.885832e+04\n",
"Nevada 3.000612e+05\n",
"New Hampshire 2.393582e+05\n",
"New Jersey 7.992631e+05\n",
"New Mexico 1.211282e+05\n",
"New York 6.151778e+05\n",
"North Carolina 1.888214e+05\n",
"North Dakota 2.491078e+04\n",
"Ohio 2.592473e+05\n",
"Oklahoma 9.618849e+04\n",
"Oregon 2.070851e+05\n",
"Pennsylvania 3.735994e+05\n",
"Rhode Island 3.508557e+05\n",
"South Carolina 1.968240e+05\n",
"South Dakota 2.430388e+04\n",
"Tennessee 1.322105e+05\n",
"Texas 1.972201e+05\n",
"Utah 1.842590e+05\n",
"Vermont 8.343213e+04\n",
"Virginia 1.193718e+05\n",
"Washington 3.362270e+05\n",
"West Virginia 6.617836e+04\n",
"Wisconsin 1.558078e+05\n",
"Wyoming 4.696883e+04"
]
},
"metadata": {},
"execution_count": 38
}
]
},
{
"cell_type": "code",
"source": [
""
],
"metadata": {
"id": "96yvBwNeRsNd"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Merge Dataframes"
],
"metadata": {
"id": "txiGksISRtPf"
}
},
{
"cell_type": "code",
"source": [
"df.head()"
],
"metadata": {
"id": "yanDdW5dRLZZ",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"outputId": "d649c902-eefa-4329-a260-eb29655f0bc7"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-4651343b-3105-4823-ab23-349da4a9ef58\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-4651343b-3105-4823-ab23-349da4a9ef58')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-4651343b-3105-4823-ab23-349da4a9ef58 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-4651343b-3105-4823-ab23-349da4a9ef58');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost\n",
"Store 1 Sebastián Tennis 42.5\n",
"Store 1 Diego Jeans 32.5\n",
"Store 2 Joaquin Cap 5.0\n",
"Store 1 Santiago Tennis 55.0\n",
"Store 2 Eliana Jogger 35.0"
]
},
"metadata": {},
"execution_count": 41
}
]
},
{
"cell_type": "code",
"source": [
"df['Date'] = ['December 1', 'January 1', 'May 10', 'January 30', 'November 1']\n",
"df"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "FHHrO6CPSFeP",
"outputId": "cb503b85-c14f-4f6b-a9da-333d1dbdbcb5"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-6d7ecb41-c074-4ef5-9c98-6aad02e48ac6\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" <td>May 10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-6d7ecb41-c074-4ef5-9c98-6aad02e48ac6')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-6d7ecb41-c074-4ef5-9c98-6aad02e48ac6 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-6d7ecb41-c074-4ef5-9c98-6aad02e48ac6');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost Date\n",
"Store 1 Sebastián Tennis 42.5 December 1\n",
"Store 1 Diego Jeans 32.5 January 1\n",
"Store 2 Joaquin Cap 5.0 May 10\n",
"Store 1 Santiago Tennis 55.0 January 30\n",
"Store 2 Eliana Jogger 35.0 November 1"
]
},
"metadata": {},
"execution_count": 42
}
]
},
{
"cell_type": "code",
"source": [
"df['Id'] = ['23151', '43151', '35151', '67121', '46928']\n",
"df"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "rtZB0FRGSmMe",
"outputId": "196d6509-a165-42b8-8631-eb66e18cd403"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-49d413ce-7f8e-46e4-99e2-9aaf2a931389\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" <th>Id</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" <td>23151</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" <td>43151</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" <td>May 10</td>\n",
" <td>35151</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" <td>67121</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" <td>46928</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-49d413ce-7f8e-46e4-99e2-9aaf2a931389')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-49d413ce-7f8e-46e4-99e2-9aaf2a931389 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-49d413ce-7f8e-46e4-99e2-9aaf2a931389');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost Date Id\n",
"Store 1 Sebastián Tennis 42.5 December 1 23151\n",
"Store 1 Diego Jeans 32.5 January 1 43151\n",
"Store 2 Joaquin Cap 5.0 May 10 35151\n",
"Store 1 Santiago Tennis 55.0 January 30 67121\n",
"Store 2 Eliana Jogger 35.0 November 1 46928"
]
},
"metadata": {},
"execution_count": 43
}
]
},
{
"cell_type": "code",
"source": [
"df['Delivered'] = True\n",
"df"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "BJjl5wnlSTjq",
"outputId": "6e89ab02-668d-41d6-9978-14a2f98206e8"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-bb54edf5-07d8-477f-96d7-0039ee229262\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" <th>Id</th>\n",
" <th>Delivered</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" <td>23151</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" <td>43151</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" <td>May 10</td>\n",
" <td>35151</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" <td>67121</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" <td>46928</td>\n",
" <td>True</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-bb54edf5-07d8-477f-96d7-0039ee229262')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-bb54edf5-07d8-477f-96d7-0039ee229262 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-bb54edf5-07d8-477f-96d7-0039ee229262');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost Date Id Delivered\n",
"Store 1 Sebastián Tennis 42.5 December 1 23151 True\n",
"Store 1 Diego Jeans 32.5 January 1 43151 True\n",
"Store 2 Joaquin Cap 5.0 May 10 35151 True\n",
"Store 1 Santiago Tennis 55.0 January 30 67121 True\n",
"Store 2 Eliana Jogger 35.0 November 1 46928 True"
]
},
"metadata": {},
"execution_count": 44
}
]
},
{
"cell_type": "code",
"source": [
"df['Feedback'] = ['Positive', None, 'Negative', 'Negative', None]\n",
"df"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "m3SFKeCmSWIc",
"outputId": "31b39558-3748-4982-956e-d72afbc92539"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-b52f0827-7d81-4549-8341-8394f21b5fde\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" <th>Id</th>\n",
" <th>Delivered</th>\n",
" <th>Feedback</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" <td>23151</td>\n",
" <td>True</td>\n",
" <td>Positive</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" <td>43151</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" <td>May 10</td>\n",
" <td>35151</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 1</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" <td>67121</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Store 2</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" <td>46928</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b52f0827-7d81-4549-8341-8394f21b5fde')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-b52f0827-7d81-4549-8341-8394f21b5fde button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-b52f0827-7d81-4549-8341-8394f21b5fde');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost Date Id Delivered Feedback\n",
"Store 1 Sebastián Tennis 42.5 December 1 23151 True Positive\n",
"Store 1 Diego Jeans 32.5 January 1 43151 True None\n",
"Store 2 Joaquin Cap 5.0 May 10 35151 True Negative\n",
"Store 1 Santiago Tennis 55.0 January 30 67121 True Negative\n",
"Store 2 Eliana Jogger 35.0 November 1 46928 True None"
]
},
"metadata": {},
"execution_count": 45
}
]
},
{
"cell_type": "code",
"source": [
""
],
"metadata": {
"id": "ZHk3L6ysTRIa"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"person_1 = pd.Series({'Id': '67121',\n",
" 'Edad': 40,\n",
" 'Domicilio': 'Medellin',\n",
" 'Tiene Hijos': True})\n",
"person_2 = pd.Series({'Id': '23151',\n",
" 'Edad': 28,\n",
" 'Domicilio': 'Bogota',\n",
" 'Tiene Hijos': None})\n",
"\n",
"person_3 = pd.Series({'Id': '46928',\n",
" 'Edad': 33,\n",
" 'Domicilio': 'Medellin',\n",
" 'Tiene Hijos': True}) \n",
"\n",
"person_4 = pd.Series({'Id': '35951',\n",
" 'Edad': 31,\n",
" 'Domicilio': 'Bogota',\n",
" 'Tiene Hijos': True})\n",
"\n",
"person_5 = pd.Series({'Id': '43151',\n",
" 'Edad': 19,\n",
" 'Domicilio': 'Medellin', \n",
" 'Tiene Hijos': False}) \n",
"\n",
"person_6 = pd.Series({'Id': '90151',\n",
" 'Edad': 22,\n",
" 'Domicilio': 'Cali',\n",
" 'Tiene Hijos': False})\n",
"person_7 = pd.Series({'Id': '909081',\n",
" 'Edad': 51,\n",
" 'Domicilio': 'Cali',\n",
" 'Tiene Hijos': True}) \n",
"person_8 = pd.Series({'Id': '109082',\n",
" 'Edad': 44,\n",
" 'Domicilio': 'Medellin',\n",
" 'Tiene Hijos': None}) \n",
"\n",
"df_demographic = pd.DataFrame([person_1, person_2, person_3,person_4, person_5, person_6, person_7, person_8])\n",
"df_demographic.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "7Ji8vV0uTbbd",
"outputId": "60a3c60d-e194-45f7-f247-352b07e52b1f"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-fc23711d-dada-4d67-b79d-2c8452215b3d\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Id</th>\n",
" <th>Edad</th>\n",
" <th>Domicilio</th>\n",
" <th>Tiene Hijos</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>67121</td>\n",
" <td>40</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>23151</td>\n",
" <td>28</td>\n",
" <td>Bogota</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>46928</td>\n",
" <td>33</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>35951</td>\n",
" <td>31</td>\n",
" <td>Bogota</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>43151</td>\n",
" <td>19</td>\n",
" <td>Medellin</td>\n",
" <td>False</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-fc23711d-dada-4d67-b79d-2c8452215b3d')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-fc23711d-dada-4d67-b79d-2c8452215b3d button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-fc23711d-dada-4d67-b79d-2c8452215b3d');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Id Edad Domicilio Tiene Hijos\n",
"0 67121 40 Medellin True\n",
"1 23151 28 Bogota None\n",
"2 46928 33 Medellin True\n",
"3 35951 31 Bogota True\n",
"4 43151 19 Medellin False"
]
},
"metadata": {},
"execution_count": 46
}
]
},
{
"cell_type": "code",
"source": [
"df = df.set_index('Id')\n",
"df"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "Oo1ZOW9LWZL_",
"outputId": "57c822c0-8728-4c22-f80b-7931fbc73158"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-a2fa546c-6c24-4702-a717-6323886a44bd\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" <th>Delivered</th>\n",
" <th>Feedback</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>23151</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" <td>True</td>\n",
" <td>Positive</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43151</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35151</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" <td>May 10</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67121</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46928</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-a2fa546c-6c24-4702-a717-6323886a44bd')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-a2fa546c-6c24-4702-a717-6323886a44bd button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-a2fa546c-6c24-4702-a717-6323886a44bd');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost Date Delivered Feedback\n",
"Id \n",
"23151 Sebastián Tennis 42.5 December 1 True Positive\n",
"43151 Diego Jeans 32.5 January 1 True None\n",
"35151 Joaquin Cap 5.0 May 10 True Negative\n",
"67121 Santiago Tennis 55.0 January 30 True Negative\n",
"46928 Eliana Jogger 35.0 November 1 True None"
]
},
"metadata": {},
"execution_count": 47
}
]
},
{
"cell_type": "code",
"source": [
"df_demographic = df_demographic.set_index('Id')\n",
"df_demographic"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 332
},
"id": "NBsCm2kwWuVg",
"outputId": "e310584d-ea35-419f-c354-db1e9cffed84"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-bb1a476a-b4d1-40d4-b11d-d667b0d58aea\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Edad</th>\n",
" <th>Domicilio</th>\n",
" <th>Tiene Hijos</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>67121</th>\n",
" <td>40</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23151</th>\n",
" <td>28</td>\n",
" <td>Bogota</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46928</th>\n",
" <td>33</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35951</th>\n",
" <td>31</td>\n",
" <td>Bogota</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43151</th>\n",
" <td>19</td>\n",
" <td>Medellin</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90151</th>\n",
" <td>22</td>\n",
" <td>Cali</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>909081</th>\n",
" <td>51</td>\n",
" <td>Cali</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>109082</th>\n",
" <td>44</td>\n",
" <td>Medellin</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-bb1a476a-b4d1-40d4-b11d-d667b0d58aea')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-bb1a476a-b4d1-40d4-b11d-d667b0d58aea button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-bb1a476a-b4d1-40d4-b11d-d667b0d58aea');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Edad Domicilio Tiene Hijos\n",
"Id \n",
"67121 40 Medellin True\n",
"23151 28 Bogota None\n",
"46928 33 Medellin True\n",
"35951 31 Bogota True\n",
"43151 19 Medellin False\n",
"90151 22 Cali False\n",
"909081 51 Cali True\n",
"109082 44 Medellin None"
]
},
"metadata": {},
"execution_count": 48
}
]
},
{
"cell_type": "markdown",
"source": [
"# MERGING ... ![merge.png](data:image/png;base64,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ysoKUvu0tbc988wznZ2d8iczMjJmz549tkdCQoLD4WjssW3bNnl5p8vlWrVq1dixY4Px661ataqgoGDoeykBDKC2tnbfvn3SlzNmzjhvKbifqqqqAwcOBP79o0aNmj59uvwZt8fz3qZNg/qPit+zoqLi+PHjFz5VMhoD3K4MzZG/NwJ/ob1eb3Nz8+7du2tqajo7O48ePXr69OmYmJiRI0fGxcXl5+cXFRWlpqYGmEoJ5HfYt29fbW2t/JmCgoIAh1T5zx87duywz3MQWQEhGUKEXHl5eWlpaV5eXpB+/osvvvi7p54a3kMyc3Jyhtj5xsTE9P0Jt9xyS3V1tTxCc7lc//3f/933fJph4fV6n13xrF80WFJS8pOf/MRsNkvPmM3mCT1mz569YcOG119/XR4T/uEPf1i+fLn8+4drpeC1114L3koBAJGNX7t2rfRlXl7eYAPCHTt2lJeXB/79BQUFfgGhx+1+5ZVXBvUfnTBhQqI18b333qurq7vgvz0uLo6AMFzJ3xuBvNBer3fnzp3r1q3r9x0lFmq3b98uRv+FCxdOmTLlvPPnQH6HPXv2yIdUsSAb4IyloqJCWqKdN28eASH6Yg8h1K6kpET+5apVq9wez3D98KSkJHn6zmazrX/rLU00i16vLyws/PnPf953KArSXNDvQJcf/OAHP//5z88V3en1+gULFixdujQ6Olr+6w1XXWtxcbH8J5eXl8tzFwAADPvMtqOjY9myZcuXLw9kfaGurm758uXLli2z2+3B+OVtNts7Gzcye4fSASEZQoREWVmZX8wWSA8YoNOnTy9evFj+zPr165uamrTSOIWFhfKde42NjcMYLcttOrtMKyMj45/+6Z/O2ycUFhbOmDFD/swHH3wwLINTXFzcwoUL5c/8+c9/DtLfDiAkzltOr5iYmBhejrA0qJltU1PTgw8+OKhDucVy6iOPPNLS0hKM33/dunXn/cl6vf7kyZO81hgYewihdi6X684773zooYfkPeDMmTOHctGCxOFwZGVlzZs3Twp4xMGVgVxxoRLjxo2TxieXy/VNc3MgFzYOit1ur6yslD/zve99L8D2ueGGG+THydhstq+//rrv5ZCD1dnZee11123dulVKitbV1b23adO1117LRwbQhDlz5sTGxg7wDampqQP/hIyMjOLi4oG/x2q16nS6adOmZWdn9/1f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)"
],
"metadata": {
"id": "7I4M4RVlXixi"
}
},
{
"cell_type": "code",
"source": [
"df_inner = pd.merge(df, df_demographic, on=\"Id\", how=\"inner\")\n",
"df_inner"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "vJwGf993X_5b",
"outputId": "e6e8dcd0-c307-4057-8072-3bacdd57680c"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-517b2e36-c773-47fa-9a78-d81d478d58a1\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" <th>Delivered</th>\n",
" <th>Feedback</th>\n",
" <th>Edad</th>\n",
" <th>Domicilio</th>\n",
" <th>Tiene Hijos</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>23151</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" <td>True</td>\n",
" <td>Positive</td>\n",
" <td>28</td>\n",
" <td>Bogota</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43151</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>19</td>\n",
" <td>Medellin</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67121</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" <td>40</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46928</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>33</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-517b2e36-c773-47fa-9a78-d81d478d58a1')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-517b2e36-c773-47fa-9a78-d81d478d58a1 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-517b2e36-c773-47fa-9a78-d81d478d58a1');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost ... Edad Domicilio Tiene Hijos\n",
"Id ... \n",
"23151 Sebastián Tennis 42.5 ... 28 Bogota None\n",
"43151 Diego Jeans 32.5 ... 19 Medellin False\n",
"67121 Santiago Tennis 55.0 ... 40 Medellin True\n",
"46928 Eliana Jogger 35.0 ... 33 Medellin True\n",
"\n",
"[4 rows x 9 columns]"
]
},
"metadata": {},
"execution_count": 49
}
]
},
{
"cell_type": "code",
"source": [
"df_left = pd.merge(df, df_demographic, on=\"Id\", how=\"left\")\n",
"df_left"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "b_C3ACnIY9Mx",
"outputId": "7220e4d6-e400-4ec6-a5fb-ccb9400a9e71"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-eb192bd9-ff92-435c-86f6-06b9b730678d\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" <th>Delivered</th>\n",
" <th>Feedback</th>\n",
" <th>Edad</th>\n",
" <th>Domicilio</th>\n",
" <th>Tiene Hijos</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>23151</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" <td>True</td>\n",
" <td>Positive</td>\n",
" <td>28.0</td>\n",
" <td>Bogota</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43151</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>19.0</td>\n",
" <td>Medellin</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35151</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" <td>May 10</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67121</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" <td>40.0</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46928</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>33.0</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-eb192bd9-ff92-435c-86f6-06b9b730678d')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-eb192bd9-ff92-435c-86f6-06b9b730678d button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-eb192bd9-ff92-435c-86f6-06b9b730678d');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost ... Edad Domicilio Tiene Hijos\n",
"Id ... \n",
"23151 Sebastián Tennis 42.5 ... 28.0 Bogota None\n",
"43151 Diego Jeans 32.5 ... 19.0 Medellin False\n",
"35151 Joaquin Cap 5.0 ... NaN NaN NaN\n",
"67121 Santiago Tennis 55.0 ... 40.0 Medellin True\n",
"46928 Eliana Jogger 35.0 ... 33.0 Medellin True\n",
"\n",
"[5 rows x 9 columns]"
]
},
"metadata": {},
"execution_count": 73
}
]
},
{
"cell_type": "code",
"source": [
"df_right = pd.merge(df, df_demographic, on=\"Id\", how=\"right\")\n",
"df_right"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 332
},
"id": "_iLD3za7ZS5t",
"outputId": "d9bed9c3-6499-4e11-8432-60d7fd4c02b3"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-5e443394-fc6b-4706-8cb1-115be922762a\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" <th>Delivered</th>\n",
" <th>Feedback</th>\n",
" <th>Edad</th>\n",
" <th>Domicilio</th>\n",
" <th>Tiene Hijos</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>67121</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" <td>40</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23151</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" <td>True</td>\n",
" <td>Positive</td>\n",
" <td>28</td>\n",
" <td>Bogota</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46928</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>33</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35951</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>31</td>\n",
" <td>Bogota</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43151</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>19</td>\n",
" <td>Medellin</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90151</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>22</td>\n",
" <td>Cali</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>909081</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>51</td>\n",
" <td>Cali</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>109082</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>44</td>\n",
" <td>Medellin</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-5e443394-fc6b-4706-8cb1-115be922762a')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-5e443394-fc6b-4706-8cb1-115be922762a button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-5e443394-fc6b-4706-8cb1-115be922762a');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost ... Edad Domicilio Tiene Hijos\n",
"Id ... \n",
"67121 Santiago Tennis 55.0 ... 40 Medellin True\n",
"23151 Sebastián Tennis 42.5 ... 28 Bogota None\n",
"46928 Eliana Jogger 35.0 ... 33 Medellin True\n",
"35951 NaN NaN NaN ... 31 Bogota True\n",
"43151 Diego Jeans 32.5 ... 19 Medellin False\n",
"90151 NaN NaN NaN ... 22 Cali False\n",
"909081 NaN NaN NaN ... 51 Cali True\n",
"109082 NaN NaN NaN ... 44 Medellin None\n",
"\n",
"[8 rows x 9 columns]"
]
},
"metadata": {},
"execution_count": 50
}
]
},
{
"cell_type": "code",
"source": [
"df_outer = pd.merge(df, df_demographic, on=\"Id\", how=\"outer\")\n",
"df_outer"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 363
},
"id": "FmJr1A53Z2OZ",
"outputId": "07457418-3cf2-40a5-b29a-397552df42e9"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-e30e34c6-8a9a-4035-aa68-c1da730de08b\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" <th>Delivered</th>\n",
" <th>Feedback</th>\n",
" <th>Edad</th>\n",
" <th>Domicilio</th>\n",
" <th>Tiene Hijos</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>23151</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" <td>True</td>\n",
" <td>Positive</td>\n",
" <td>28.0</td>\n",
" <td>Bogota</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43151</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>19.0</td>\n",
" <td>Medellin</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35151</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" <td>May 10</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67121</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" <td>40.0</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46928</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>33.0</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35951</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>31.0</td>\n",
" <td>Bogota</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90151</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>22.0</td>\n",
" <td>Cali</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>909081</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>51.0</td>\n",
" <td>Cali</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>109082</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>44.0</td>\n",
" <td>Medellin</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-e30e34c6-8a9a-4035-aa68-c1da730de08b')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-e30e34c6-8a9a-4035-aa68-c1da730de08b button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-e30e34c6-8a9a-4035-aa68-c1da730de08b');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost ... Edad Domicilio Tiene Hijos\n",
"Id ... \n",
"23151 Sebastián Tennis 42.5 ... 28.0 Bogota None\n",
"43151 Diego Jeans 32.5 ... 19.0 Medellin False\n",
"35151 Joaquin Cap 5.0 ... NaN NaN NaN\n",
"67121 Santiago Tennis 55.0 ... 40.0 Medellin True\n",
"46928 Eliana Jogger 35.0 ... 33.0 Medellin True\n",
"35951 NaN NaN NaN ... 31.0 Bogota True\n",
"90151 NaN NaN NaN ... 22.0 Cali False\n",
"909081 NaN NaN NaN ... 51.0 Cali True\n",
"109082 NaN NaN NaN ... 44.0 Medellin None\n",
"\n",
"[9 rows x 9 columns]"
]
},
"metadata": {},
"execution_count": 51
}
]
},
{
"cell_type": "code",
"source": [
"pd.concat([df, df_demographic], axis=0)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 488
},
"id": "sa8GXlQBaX90",
"outputId": "9b6aad26-1f5d-44a4-dd1e-4195529bee61"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-2165cd59-6fe6-4a8f-a915-aff8791226b0\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" <th>Delivered</th>\n",
" <th>Feedback</th>\n",
" <th>Edad</th>\n",
" <th>Domicilio</th>\n",
" <th>Tiene Hijos</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>23151</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" <td>True</td>\n",
" <td>Positive</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43151</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35151</th>\n",
" <td>Joaquin</td>\n",
" <td>Cap</td>\n",
" <td>5.0</td>\n",
" <td>May 10</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67121</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46928</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67121</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>40.0</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23151</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>28.0</td>\n",
" <td>Bogota</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46928</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>33.0</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35951</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>31.0</td>\n",
" <td>Bogota</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43151</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>19.0</td>\n",
" <td>Medellin</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90151</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>22.0</td>\n",
" <td>Cali</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>909081</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>51.0</td>\n",
" <td>Cali</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>109082</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>44.0</td>\n",
" <td>Medellin</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-2165cd59-6fe6-4a8f-a915-aff8791226b0')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-2165cd59-6fe6-4a8f-a915-aff8791226b0 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-2165cd59-6fe6-4a8f-a915-aff8791226b0');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost ... Edad Domicilio Tiene Hijos\n",
"Id ... \n",
"23151 Sebastián Tennis 42.5 ... NaN NaN NaN\n",
"43151 Diego Jeans 32.5 ... NaN NaN NaN\n",
"35151 Joaquin Cap 5.0 ... NaN NaN NaN\n",
"67121 Santiago Tennis 55.0 ... NaN NaN NaN\n",
"46928 Eliana Jogger 35.0 ... NaN NaN NaN\n",
"67121 NaN NaN NaN ... 40.0 Medellin True\n",
"23151 NaN NaN NaN ... 28.0 Bogota None\n",
"46928 NaN NaN NaN ... 33.0 Medellin True\n",
"35951 NaN NaN NaN ... 31.0 Bogota True\n",
"43151 NaN NaN NaN ... 19.0 Medellin False\n",
"90151 NaN NaN NaN ... 22.0 Cali False\n",
"909081 NaN NaN NaN ... 51.0 Cali True\n",
"109082 NaN NaN NaN ... 44.0 Medellin None\n",
"\n",
"[13 rows x 9 columns]"
]
},
"metadata": {},
"execution_count": 53
}
]
},
{
"cell_type": "code",
"source": [
"pd.concat([df, df_demographic], axis=1, join=\"inner\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "MXfWkCXaapvU",
"outputId": "95557894-4a61-4d25-f319-facb9df14f3d"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
" <div id=\"df-9564f3fb-fb72-4f11-b1b2-444b4b3ea686\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Item Purchased</th>\n",
" <th>Cost</th>\n",
" <th>Date</th>\n",
" <th>Delivered</th>\n",
" <th>Feedback</th>\n",
" <th>Edad</th>\n",
" <th>Domicilio</th>\n",
" <th>Tiene Hijos</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>23151</th>\n",
" <td>Sebastián</td>\n",
" <td>Tennis</td>\n",
" <td>42.5</td>\n",
" <td>December 1</td>\n",
" <td>True</td>\n",
" <td>Positive</td>\n",
" <td>28</td>\n",
" <td>Bogota</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43151</th>\n",
" <td>Diego</td>\n",
" <td>Jeans</td>\n",
" <td>32.5</td>\n",
" <td>January 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>19</td>\n",
" <td>Medellin</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67121</th>\n",
" <td>Santiago</td>\n",
" <td>Tennis</td>\n",
" <td>55.0</td>\n",
" <td>January 30</td>\n",
" <td>True</td>\n",
" <td>Negative</td>\n",
" <td>40</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46928</th>\n",
" <td>Eliana</td>\n",
" <td>Jogger</td>\n",
" <td>35.0</td>\n",
" <td>November 1</td>\n",
" <td>True</td>\n",
" <td>None</td>\n",
" <td>33</td>\n",
" <td>Medellin</td>\n",
" <td>True</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-9564f3fb-fb72-4f11-b1b2-444b4b3ea686')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-9564f3fb-fb72-4f11-b1b2-444b4b3ea686 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-9564f3fb-fb72-4f11-b1b2-444b4b3ea686');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
],
"text/plain": [
" Name Item Purchased Cost ... Edad Domicilio Tiene Hijos\n",
"Id ... \n",
"23151 Sebastián Tennis 42.5 ... 28 Bogota None\n",
"43151 Diego Jeans 32.5 ... 19 Medellin False\n",
"67121 Santiago Tennis 55.0 ... 40 Medellin True\n",
"46928 Eliana Jogger 35.0 ... 33 Medellin True\n",
"\n",
"[4 rows x 9 columns]"
]
},
"metadata": {},
"execution_count": 54
}
]
},
{
"cell_type": "code",
"source": [
"# ¿Cual es la edad promedio de los clientes que compraron tenis?\n",
"# ¿Cual es el nombre del cliente que no se tiene información demografica?\n",
"# ¿De la base de clientes que compraron un articulo, cuantos viven en medellin no tienen hijos?"
],
"metadata": {
"id": "WQb_slG8biGl"
},
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment