{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data scraping, data wrangling, data analytics, exploratory data analysis, advaced plotting and clustering with love."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this tutorial, we are going to read the csv file and the json file we saved in the previous tutorial.\n",
"\n",
"Then we are going to use **pandas** [1] to do data wrangling and manipulation of the `DataFrame`. \n",
"\n",
"Finally, we are going to do some basic data analytics and basic plotting using **matplotlib** [2]."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import json\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To load the csv file, we proceed as follows,"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#shot_df.to_csv(path_or_buf='test.csv',mode='w')\n",
"shot_df = pd.read_csv(filepath_or_buffer='test.csv')\n",
"#shot_df = pd.read_csv('test.csv')\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To print the first 4 rows in the `DataFrame` and display all the columns, you can proceed as follows,"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"
\n",
" \n",
" \n",
" | \n",
" Unnamed: 0 | \n",
" GRID_TYPE | \n",
" GAME_ID | \n",
" GAME_EVENT_ID | \n",
" PLAYER_ID | \n",
" PLAYER_NAME | \n",
" TEAM_ID | \n",
" TEAM_NAME | \n",
" PERIOD | \n",
" MINUTES_REMAINING | \n",
" ... | \n",
" ACTION_TYPE | \n",
" SHOT_TYPE | \n",
" SHOT_ZONE_BASIC | \n",
" SHOT_ZONE_AREA | \n",
" SHOT_ZONE_RANGE | \n",
" SHOT_DISTANCE | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_ATTEMPTED_FLAG | \n",
" SHOT_MADE_FLAG | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 4 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 11 | \n",
" ... | \n",
" Jump Shot | \n",
" 2PT Field Goal | \n",
" Mid-Range | \n",
" Right Side Center(RC) | \n",
" 16-24 ft. | \n",
" 18 | \n",
" 114 | \n",
" 148 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 33 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 6 | \n",
" ... | \n",
" Layup Shot | \n",
" 2PT Field Goal | \n",
" Restricted Area | \n",
" Center(C) | \n",
" Less Than 8 ft. | \n",
" 0 | \n",
" -7 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
" 2 | \n",
" 2 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 53 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 4 | \n",
" ... | \n",
" Fadeaway Jump Shot | \n",
" 2PT Field Goal | \n",
" Mid-Range | \n",
" Left Side(L) | \n",
" 8-16 ft. | \n",
" 12 | \n",
" -105 | \n",
" 63 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 77 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 2 | \n",
" ... | \n",
" Jump Shot | \n",
" 3PT Field Goal | \n",
" Right Corner 3 | \n",
" Right Side(R) | \n",
" 24+ ft. | \n",
" 22 | \n",
" 227 | \n",
" -16 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
4 rows × 22 columns
\n",
"
"
],
"text/plain": [
" Unnamed: 0 GRID_TYPE GAME_ID GAME_EVENT_ID PLAYER_ID \\\n",
"0 0 Shot Chart Detail 21400018 4 2544 \n",
"1 1 Shot Chart Detail 21400018 33 2544 \n",
"2 2 Shot Chart Detail 21400018 53 2544 \n",
"3 3 Shot Chart Detail 21400018 77 2544 \n",
"\n",
" PLAYER_NAME TEAM_ID TEAM_NAME PERIOD MINUTES_REMAINING \\\n",
"0 LeBron James 1610612739 Cleveland Cavaliers 1 11 \n",
"1 LeBron James 1610612739 Cleveland Cavaliers 1 6 \n",
"2 LeBron James 1610612739 Cleveland Cavaliers 1 4 \n",
"3 LeBron James 1610612739 Cleveland Cavaliers 1 2 \n",
"\n",
" ... ACTION_TYPE SHOT_TYPE SHOT_ZONE_BASIC \\\n",
"0 ... Jump Shot 2PT Field Goal Mid-Range \n",
"1 ... Layup Shot 2PT Field Goal Restricted Area \n",
"2 ... Fadeaway Jump Shot 2PT Field Goal Mid-Range \n",
"3 ... Jump Shot 3PT Field Goal Right Corner 3 \n",
"\n",
" SHOT_ZONE_AREA SHOT_ZONE_RANGE SHOT_DISTANCE LOC_X LOC_Y \\\n",
"0 Right Side Center(RC) 16-24 ft. 18 114 148 \n",
"1 Center(C) Less Than 8 ft. 0 -7 0 \n",
"2 Left Side(L) 8-16 ft. 12 -105 63 \n",
"3 Right Side(R) 24+ ft. 22 227 -16 \n",
"\n",
" SHOT_ATTEMPTED_FLAG SHOT_MADE_FLAG \n",
"0 1 0 \n",
"1 1 1 \n",
"2 1 0 \n",
"3 1 0 \n",
"\n",
"[4 rows x 22 columns]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"shot_df.head(4)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Have in mind that this is a larger `DataFrame`, if you do not use **.head(4)** it will print all the rows in the `DataFrame`."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"To force **pandas** to display all the columns, you can proceed as follows (we only display the first 4 rows),"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Unnamed: 0 | \n",
" GRID_TYPE | \n",
" GAME_ID | \n",
" GAME_EVENT_ID | \n",
" PLAYER_ID | \n",
" PLAYER_NAME | \n",
" TEAM_ID | \n",
" TEAM_NAME | \n",
" PERIOD | \n",
" MINUTES_REMAINING | \n",
" SECONDS_REMAINING | \n",
" EVENT_TYPE | \n",
" ACTION_TYPE | \n",
" SHOT_TYPE | \n",
" SHOT_ZONE_BASIC | \n",
" SHOT_ZONE_AREA | \n",
" SHOT_ZONE_RANGE | \n",
" SHOT_DISTANCE | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_ATTEMPTED_FLAG | \n",
" SHOT_MADE_FLAG | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 4 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 11 | \n",
" 20 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 2PT Field Goal | \n",
" Mid-Range | \n",
" Right Side Center(RC) | \n",
" 16-24 ft. | \n",
" 18 | \n",
" 114 | \n",
" 148 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 33 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 6 | \n",
" 30 | \n",
" Made Shot | \n",
" Layup Shot | \n",
" 2PT Field Goal | \n",
" Restricted Area | \n",
" Center(C) | \n",
" Less Than 8 ft. | \n",
" 0 | \n",
" -7 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
" 2 | \n",
" 2 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 53 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 4 | \n",
" 45 | \n",
" Missed Shot | \n",
" Fadeaway Jump Shot | \n",
" 2PT Field Goal | \n",
" Mid-Range | \n",
" Left Side(L) | \n",
" 8-16 ft. | \n",
" 12 | \n",
" -105 | \n",
" 63 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 77 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 2 | \n",
" 31 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 3PT Field Goal | \n",
" Right Corner 3 | \n",
" Right Side(R) | \n",
" 24+ ft. | \n",
" 22 | \n",
" 227 | \n",
" -16 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 GRID_TYPE GAME_ID GAME_EVENT_ID PLAYER_ID \\\n",
"0 0 Shot Chart Detail 21400018 4 2544 \n",
"1 1 Shot Chart Detail 21400018 33 2544 \n",
"2 2 Shot Chart Detail 21400018 53 2544 \n",
"3 3 Shot Chart Detail 21400018 77 2544 \n",
"\n",
" PLAYER_NAME TEAM_ID TEAM_NAME PERIOD MINUTES_REMAINING \\\n",
"0 LeBron James 1610612739 Cleveland Cavaliers 1 11 \n",
"1 LeBron James 1610612739 Cleveland Cavaliers 1 6 \n",
"2 LeBron James 1610612739 Cleveland Cavaliers 1 4 \n",
"3 LeBron James 1610612739 Cleveland Cavaliers 1 2 \n",
"\n",
" SECONDS_REMAINING EVENT_TYPE ACTION_TYPE SHOT_TYPE \\\n",
"0 20 Missed Shot Jump Shot 2PT Field Goal \n",
"1 30 Made Shot Layup Shot 2PT Field Goal \n",
"2 45 Missed Shot Fadeaway Jump Shot 2PT Field Goal \n",
"3 31 Missed Shot Jump Shot 3PT Field Goal \n",
"\n",
" SHOT_ZONE_BASIC SHOT_ZONE_AREA SHOT_ZONE_RANGE SHOT_DISTANCE \\\n",
"0 Mid-Range Right Side Center(RC) 16-24 ft. 18 \n",
"1 Restricted Area Center(C) Less Than 8 ft. 0 \n",
"2 Mid-Range Left Side(L) 8-16 ft. 12 \n",
"3 Right Corner 3 Right Side(R) 24+ ft. 22 \n",
"\n",
" LOC_X LOC_Y SHOT_ATTEMPTED_FLAG SHOT_MADE_FLAG \n",
"0 114 148 1 0 \n",
"1 -7 0 1 1 \n",
"2 -105 63 1 0 \n",
"3 227 -16 1 0 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.set_option('display.max_columns', None)\n",
"shot_df.head(4)\n",
"#shot_df"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To erase a column in a `DataFrame` we can proceed as follows. \n",
"\n",
"Notice that we want to erase the column with the name `Unnamed: 0`, hence the notation **('Unnamed: 0', 1)**."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"shot_df1 = shot_df.drop('Unnamed: 0', 1)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To display the information in `shot_df1` (we only display the first 2 rows),"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" GRID_TYPE | \n",
" GAME_ID | \n",
" GAME_EVENT_ID | \n",
" PLAYER_ID | \n",
" PLAYER_NAME | \n",
" TEAM_ID | \n",
" TEAM_NAME | \n",
" PERIOD | \n",
" MINUTES_REMAINING | \n",
" SECONDS_REMAINING | \n",
" EVENT_TYPE | \n",
" ACTION_TYPE | \n",
" SHOT_TYPE | \n",
" SHOT_ZONE_BASIC | \n",
" SHOT_ZONE_AREA | \n",
" SHOT_ZONE_RANGE | \n",
" SHOT_DISTANCE | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_ATTEMPTED_FLAG | \n",
" SHOT_MADE_FLAG | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 4 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 11 | \n",
" 20 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 2PT Field Goal | \n",
" Mid-Range | \n",
" Right Side Center(RC) | \n",
" 16-24 ft. | \n",
" 18 | \n",
" 114 | \n",
" 148 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 33 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 6 | \n",
" 30 | \n",
" Made Shot | \n",
" Layup Shot | \n",
" 2PT Field Goal | \n",
" Restricted Area | \n",
" Center(C) | \n",
" Less Than 8 ft. | \n",
" 0 | \n",
" -7 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" GRID_TYPE GAME_ID GAME_EVENT_ID PLAYER_ID PLAYER_NAME \\\n",
"0 Shot Chart Detail 21400018 4 2544 LeBron James \n",
"1 Shot Chart Detail 21400018 33 2544 LeBron James \n",
"\n",
" TEAM_ID TEAM_NAME PERIOD MINUTES_REMAINING \\\n",
"0 1610612739 Cleveland Cavaliers 1 11 \n",
"1 1610612739 Cleveland Cavaliers 1 6 \n",
"\n",
" SECONDS_REMAINING EVENT_TYPE ACTION_TYPE SHOT_TYPE \\\n",
"0 20 Missed Shot Jump Shot 2PT Field Goal \n",
"1 30 Made Shot Layup Shot 2PT Field Goal \n",
"\n",
" SHOT_ZONE_BASIC SHOT_ZONE_AREA SHOT_ZONE_RANGE SHOT_DISTANCE \\\n",
"0 Mid-Range Right Side Center(RC) 16-24 ft. 18 \n",
"1 Restricted Area Center(C) Less Than 8 ft. 0 \n",
"\n",
" LOC_X LOC_Y SHOT_ATTEMPTED_FLAG SHOT_MADE_FLAG \n",
"0 114 148 1 0 \n",
"1 -7 0 1 1 "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"shot_df1.head(2)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"As you can see, we erased the column **('Unnamed: 0', 1)**."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Alternatively we can use the column 0 as the row labels of the DataFrame."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"shot_df2 = pd.read_csv(filepath_or_buffer='test.csv',index_col=0)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To display the information in `shot_df2` (we only display the first 2 rows),"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" GRID_TYPE | \n",
" GAME_ID | \n",
" GAME_EVENT_ID | \n",
" PLAYER_ID | \n",
" PLAYER_NAME | \n",
" TEAM_ID | \n",
" TEAM_NAME | \n",
" PERIOD | \n",
" MINUTES_REMAINING | \n",
" SECONDS_REMAINING | \n",
" EVENT_TYPE | \n",
" ACTION_TYPE | \n",
" SHOT_TYPE | \n",
" SHOT_ZONE_BASIC | \n",
" SHOT_ZONE_AREA | \n",
" SHOT_ZONE_RANGE | \n",
" SHOT_DISTANCE | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_ATTEMPTED_FLAG | \n",
" SHOT_MADE_FLAG | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 4 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 11 | \n",
" 20 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 2PT Field Goal | \n",
" Mid-Range | \n",
" Right Side Center(RC) | \n",
" 16-24 ft. | \n",
" 18 | \n",
" 114 | \n",
" 148 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 33 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 6 | \n",
" 30 | \n",
" Made Shot | \n",
" Layup Shot | \n",
" 2PT Field Goal | \n",
" Restricted Area | \n",
" Center(C) | \n",
" Less Than 8 ft. | \n",
" 0 | \n",
" -7 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" GRID_TYPE GAME_ID GAME_EVENT_ID PLAYER_ID PLAYER_NAME \\\n",
"0 Shot Chart Detail 21400018 4 2544 LeBron James \n",
"1 Shot Chart Detail 21400018 33 2544 LeBron James \n",
"\n",
" TEAM_ID TEAM_NAME PERIOD MINUTES_REMAINING \\\n",
"0 1610612739 Cleveland Cavaliers 1 11 \n",
"1 1610612739 Cleveland Cavaliers 1 6 \n",
"\n",
" SECONDS_REMAINING EVENT_TYPE ACTION_TYPE SHOT_TYPE \\\n",
"0 20 Missed Shot Jump Shot 2PT Field Goal \n",
"1 30 Made Shot Layup Shot 2PT Field Goal \n",
"\n",
" SHOT_ZONE_BASIC SHOT_ZONE_AREA SHOT_ZONE_RANGE SHOT_DISTANCE \\\n",
"0 Mid-Range Right Side Center(RC) 16-24 ft. 18 \n",
"1 Restricted Area Center(C) Less Than 8 ft. 0 \n",
"\n",
" LOC_X LOC_Y SHOT_ATTEMPTED_FLAG SHOT_MADE_FLAG \n",
"0 114 148 1 0 \n",
"1 -7 0 1 1 "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"shot_df2.head(2)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"We can do indexing and slicing in a `DataFrame`.\n",
"\n",
"To display all the columns belonging to rows 0 to 2 of the `DataFrame shot_df2`, "
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" GRID_TYPE | \n",
" GAME_ID | \n",
" GAME_EVENT_ID | \n",
" PLAYER_ID | \n",
" PLAYER_NAME | \n",
" TEAM_ID | \n",
" TEAM_NAME | \n",
" PERIOD | \n",
" MINUTES_REMAINING | \n",
" SECONDS_REMAINING | \n",
" EVENT_TYPE | \n",
" ACTION_TYPE | \n",
" SHOT_TYPE | \n",
" SHOT_ZONE_BASIC | \n",
" SHOT_ZONE_AREA | \n",
" SHOT_ZONE_RANGE | \n",
" SHOT_DISTANCE | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_ATTEMPTED_FLAG | \n",
" SHOT_MADE_FLAG | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 4 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 11 | \n",
" 20 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 2PT Field Goal | \n",
" Mid-Range | \n",
" Right Side Center(RC) | \n",
" 16-24 ft. | \n",
" 18 | \n",
" 114 | \n",
" 148 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 33 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 6 | \n",
" 30 | \n",
" Made Shot | \n",
" Layup Shot | \n",
" 2PT Field Goal | \n",
" Restricted Area | \n",
" Center(C) | \n",
" Less Than 8 ft. | \n",
" 0 | \n",
" -7 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" GRID_TYPE GAME_ID GAME_EVENT_ID PLAYER_ID PLAYER_NAME \\\n",
"0 Shot Chart Detail 21400018 4 2544 LeBron James \n",
"1 Shot Chart Detail 21400018 33 2544 LeBron James \n",
"\n",
" TEAM_ID TEAM_NAME PERIOD MINUTES_REMAINING \\\n",
"0 1610612739 Cleveland Cavaliers 1 11 \n",
"1 1610612739 Cleveland Cavaliers 1 6 \n",
"\n",
" SECONDS_REMAINING EVENT_TYPE ACTION_TYPE SHOT_TYPE \\\n",
"0 20 Missed Shot Jump Shot 2PT Field Goal \n",
"1 30 Made Shot Layup Shot 2PT Field Goal \n",
"\n",
" SHOT_ZONE_BASIC SHOT_ZONE_AREA SHOT_ZONE_RANGE SHOT_DISTANCE \\\n",
"0 Mid-Range Right Side Center(RC) 16-24 ft. 18 \n",
"1 Restricted Area Center(C) Less Than 8 ft. 0 \n",
"\n",
" LOC_X LOC_Y SHOT_ATTEMPTED_FLAG SHOT_MADE_FLAG \n",
"0 114 148 1 0 \n",
"1 -7 0 1 1 "
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"shot_df2.iloc[0:2,:]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"or we can display columns 10 to 13 of the first five rows,"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" EVENT_TYPE | \n",
" ACTION_TYPE | \n",
" SHOT_TYPE | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 2PT Field Goal | \n",
"
\n",
" \n",
" 1 | \n",
" Made Shot | \n",
" Layup Shot | \n",
" 2PT Field Goal | \n",
"
\n",
" \n",
" 2 | \n",
" Missed Shot | \n",
" Fadeaway Jump Shot | \n",
" 2PT Field Goal | \n",
"
\n",
" \n",
" 3 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 3PT Field Goal | \n",
"
\n",
" \n",
" 4 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 3PT Field Goal | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" EVENT_TYPE ACTION_TYPE SHOT_TYPE\n",
"0 Missed Shot Jump Shot 2PT Field Goal\n",
"1 Made Shot Layup Shot 2PT Field Goal\n",
"2 Missed Shot Fadeaway Jump Shot 2PT Field Goal\n",
"3 Missed Shot Jump Shot 3PT Field Goal\n",
"4 Missed Shot Jump Shot 3PT Field Goal"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"shot_df2.iloc[0:5,10:13]\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"To load a json file using the module **json** (the hard way),"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#import json\n",
"#import pprint\n",
"#from pprint import pprint\n",
"\n",
"#with open('data_json.json') as data_file: \n",
"# data_json = json.load(data_file)\n",
"\n",
"#pprint(data_json)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#type(data_json)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#data_json['resultSets'][0]['headers']"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#data_json['resultSets'][0]['rowSet']"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#for x in data_json:\n",
"# print (x)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#for x in data_json['resultSets'][x]\n",
"# print (data_json['resultSets'][x])"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#data_json\n",
"#type(data_json['resultSets'][0])\n",
"#print (data_json['resultSets'][0])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To load the json file using **pandas**, we proceed as follows,"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#pd_json=pd.read_json(path_or_buf='data_json.json')\n",
"pd_json=pd.read_json(path_or_buf='data_json.json',typ='series')\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Remember, you can inspect the json file using **JSONView**, as in the previous tutorial."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To know the type of the json file we just loaded,"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"pandas.core.series.Series"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(pd_json)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Notice that it is a `series` and not a `DataFrame`. Later on we are going to see how to convert `series` to a `DataFrame`, for the moment this does not generate any problem."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The next line will print the content of the json file. This is the same information you see when you use **JSONView**, but now we read in the hard way."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"parameters {u'PlayerID': 2544, u'StartPeriod': None, u'St...\n",
"resource shotchartdetail\n",
"resultSets [{u'headers': [u'GRID_TYPE', u'GAME_ID', u'GAM...\n",
"dtype: object"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd_json\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"These lines will print the information inside each block of the json file, they are commented as they print a lot information."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#pd_json.parameters\n"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#pd_json.resource\n"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#pd_json.resultSets\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"At this point, we can create the `DataFrame` using the json file we imported in **pandas** (pretty much as in the previous tutorial).\n",
"\n",
"First we need to grab the headers and shot chart data."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Grab the headers to be used as column headers for our DataFrame\n",
"json_headers = pd_json['resultSets'][0]['headers']"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Grab the shot chart data\n",
"json_shots = pd_json['resultSets'][0]['rowSet']"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To display the content of `json_headers`"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[u'GRID_TYPE',\n",
" u'GAME_ID',\n",
" u'GAME_EVENT_ID',\n",
" u'PLAYER_ID',\n",
" u'PLAYER_NAME',\n",
" u'TEAM_ID',\n",
" u'TEAM_NAME',\n",
" u'PERIOD',\n",
" u'MINUTES_REMAINING',\n",
" u'SECONDS_REMAINING',\n",
" u'EVENT_TYPE',\n",
" u'ACTION_TYPE',\n",
" u'SHOT_TYPE',\n",
" u'SHOT_ZONE_BASIC',\n",
" u'SHOT_ZONE_AREA',\n",
" u'SHOT_ZONE_RANGE',\n",
" u'SHOT_DISTANCE',\n",
" u'LOC_X',\n",
" u'LOC_Y',\n",
" u'SHOT_ATTEMPTED_FLAG',\n",
" u'SHOT_MADE_FLAG']"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"json_headers\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To display the content of `json_shots`. This line is commented as it prints a lot information."
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#json_shots"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To create the `DataFrame` using `json_headers` and `json_shots`, "
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"json_to_pd = pd.DataFrame(json_shots, columns=json_headers)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and to display the first 5 rows of `json_to_pd`,"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" GRID_TYPE | \n",
" GAME_ID | \n",
" GAME_EVENT_ID | \n",
" PLAYER_ID | \n",
" PLAYER_NAME | \n",
" TEAM_ID | \n",
" TEAM_NAME | \n",
" PERIOD | \n",
" MINUTES_REMAINING | \n",
" SECONDS_REMAINING | \n",
" EVENT_TYPE | \n",
" ACTION_TYPE | \n",
" SHOT_TYPE | \n",
" SHOT_ZONE_BASIC | \n",
" SHOT_ZONE_AREA | \n",
" SHOT_ZONE_RANGE | \n",
" SHOT_DISTANCE | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_ATTEMPTED_FLAG | \n",
" SHOT_MADE_FLAG | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Shot Chart Detail | \n",
" 0021400018 | \n",
" 4 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 11 | \n",
" 20 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 2PT Field Goal | \n",
" Mid-Range | \n",
" Right Side Center(RC) | \n",
" 16-24 ft. | \n",
" 18 | \n",
" 114 | \n",
" 148 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" Shot Chart Detail | \n",
" 0021400018 | \n",
" 33 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 6 | \n",
" 30 | \n",
" Made Shot | \n",
" Layup Shot | \n",
" 2PT Field Goal | \n",
" Restricted Area | \n",
" Center(C) | \n",
" Less Than 8 ft. | \n",
" 0 | \n",
" -7 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
" 2 | \n",
" Shot Chart Detail | \n",
" 0021400018 | \n",
" 53 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 4 | \n",
" 45 | \n",
" Missed Shot | \n",
" Fadeaway Jump Shot | \n",
" 2PT Field Goal | \n",
" Mid-Range | \n",
" Left Side(L) | \n",
" 8-16 ft. | \n",
" 12 | \n",
" -105 | \n",
" 63 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 3 | \n",
" Shot Chart Detail | \n",
" 0021400018 | \n",
" 77 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 2 | \n",
" 31 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 3PT Field Goal | \n",
" Right Corner 3 | \n",
" Right Side(R) | \n",
" 24+ ft. | \n",
" 22 | \n",
" 227 | \n",
" -16 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 4 | \n",
" Shot Chart Detail | \n",
" 0021400018 | \n",
" 82 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 1 | \n",
" 51 | \n",
" Missed Shot | \n",
" Jump Shot | \n",
" 3PT Field Goal | \n",
" Above the Break 3 | \n",
" Right Side Center(RC) | \n",
" 24+ ft. | \n",
" 26 | \n",
" 91 | \n",
" 246 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" GRID_TYPE GAME_ID GAME_EVENT_ID PLAYER_ID PLAYER_NAME \\\n",
"0 Shot Chart Detail 0021400018 4 2544 LeBron James \n",
"1 Shot Chart Detail 0021400018 33 2544 LeBron James \n",
"2 Shot Chart Detail 0021400018 53 2544 LeBron James \n",
"3 Shot Chart Detail 0021400018 77 2544 LeBron James \n",
"4 Shot Chart Detail 0021400018 82 2544 LeBron James \n",
"\n",
" TEAM_ID TEAM_NAME PERIOD MINUTES_REMAINING \\\n",
"0 1610612739 Cleveland Cavaliers 1 11 \n",
"1 1610612739 Cleveland Cavaliers 1 6 \n",
"2 1610612739 Cleveland Cavaliers 1 4 \n",
"3 1610612739 Cleveland Cavaliers 1 2 \n",
"4 1610612739 Cleveland Cavaliers 1 1 \n",
"\n",
" SECONDS_REMAINING EVENT_TYPE ACTION_TYPE SHOT_TYPE \\\n",
"0 20 Missed Shot Jump Shot 2PT Field Goal \n",
"1 30 Made Shot Layup Shot 2PT Field Goal \n",
"2 45 Missed Shot Fadeaway Jump Shot 2PT Field Goal \n",
"3 31 Missed Shot Jump Shot 3PT Field Goal \n",
"4 51 Missed Shot Jump Shot 3PT Field Goal \n",
"\n",
" SHOT_ZONE_BASIC SHOT_ZONE_AREA SHOT_ZONE_RANGE SHOT_DISTANCE \\\n",
"0 Mid-Range Right Side Center(RC) 16-24 ft. 18 \n",
"1 Restricted Area Center(C) Less Than 8 ft. 0 \n",
"2 Mid-Range Left Side(L) 8-16 ft. 12 \n",
"3 Right Corner 3 Right Side(R) 24+ ft. 22 \n",
"4 Above the Break 3 Right Side Center(RC) 24+ ft. 26 \n",
"\n",
" LOC_X LOC_Y SHOT_ATTEMPTED_FLAG SHOT_MADE_FLAG \n",
"0 114 148 1 0 \n",
"1 -7 0 1 1 \n",
"2 -105 63 1 0 \n",
"3 227 -16 1 0 \n",
"4 91 246 1 0 "
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"json_to_pd.head()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To determine if `json_to_pd` is equal to `shot_df1` (we only display the first 5 rows),"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" GRID_TYPE | \n",
" GAME_ID | \n",
" GAME_EVENT_ID | \n",
" PLAYER_ID | \n",
" PLAYER_NAME | \n",
" TEAM_ID | \n",
" TEAM_NAME | \n",
" PERIOD | \n",
" MINUTES_REMAINING | \n",
" SECONDS_REMAINING | \n",
" EVENT_TYPE | \n",
" ACTION_TYPE | \n",
" SHOT_TYPE | \n",
" SHOT_ZONE_BASIC | \n",
" SHOT_ZONE_AREA | \n",
" SHOT_ZONE_RANGE | \n",
" SHOT_DISTANCE | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_ATTEMPTED_FLAG | \n",
" SHOT_MADE_FLAG | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" True | \n",
" False | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
"
\n",
" \n",
" 1 | \n",
" True | \n",
" False | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
"
\n",
" \n",
" 2 | \n",
" True | \n",
" False | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
"
\n",
" \n",
" 3 | \n",
" True | \n",
" False | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
"
\n",
" \n",
" 4 | \n",
" True | \n",
" False | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
" True | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" GRID_TYPE GAME_ID GAME_EVENT_ID PLAYER_ID PLAYER_NAME TEAM_ID TEAM_NAME \\\n",
"0 True False True True True True True \n",
"1 True False True True True True True \n",
"2 True False True True True True True \n",
"3 True False True True True True True \n",
"4 True False True True True True True \n",
"\n",
" PERIOD MINUTES_REMAINING SECONDS_REMAINING EVENT_TYPE ACTION_TYPE SHOT_TYPE \\\n",
"0 True True True True True True \n",
"1 True True True True True True \n",
"2 True True True True True True \n",
"3 True True True True True True \n",
"4 True True True True True True \n",
"\n",
" SHOT_ZONE_BASIC SHOT_ZONE_AREA SHOT_ZONE_RANGE SHOT_DISTANCE LOC_X LOC_Y \\\n",
"0 True True True True True True \n",
"1 True True True True True True \n",
"2 True True True True True True \n",
"3 True True True True True True \n",
"4 True True True True True True \n",
"\n",
" SHOT_ATTEMPTED_FLAG SHOT_MADE_FLAG \n",
"0 True True \n",
"1 True True \n",
"2 True True \n",
"3 True True \n",
"4 True True "
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"json_to_pd.head() == shot_df1.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Notice that the only difference is the column **GAME_ID**. When loading the csv, **pandas** erased the leading zeroes, the rest of the columns are equal.\n",
"\n",
"This can be fixed, but I will let you as an exercise."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The `DataFrame` `shot_df1` contains the shot chart data of all the field goal attempts Lebron James took during the 2014-15 regular season. \n",
"\n",
"We are specifically interested in the data saved in the columns `LOC_X`, `LOC_Y` and `SHOT_MADE_FLAG`. The columns `LOC_X` and `LOC_Y` contain the coordinate values for each shot measured from the basket rim. The column `SHOT_MADE_FLAG` contains the outcome of the shot, 0 for missed and 1 for converted.\n",
"\n",
"To extract from the `DataFrame` `shot_df1` the converted shots or **shot_df1.SHOT_MADE_FLAG == 1**, we proceed as follows (we only display the first 2 rows),\n"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" GRID_TYPE | \n",
" GAME_ID | \n",
" GAME_EVENT_ID | \n",
" PLAYER_ID | \n",
" PLAYER_NAME | \n",
" TEAM_ID | \n",
" TEAM_NAME | \n",
" PERIOD | \n",
" MINUTES_REMAINING | \n",
" SECONDS_REMAINING | \n",
" EVENT_TYPE | \n",
" ACTION_TYPE | \n",
" SHOT_TYPE | \n",
" SHOT_ZONE_BASIC | \n",
" SHOT_ZONE_AREA | \n",
" SHOT_ZONE_RANGE | \n",
" SHOT_DISTANCE | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_ATTEMPTED_FLAG | \n",
" SHOT_MADE_FLAG | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 33 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 1 | \n",
" 6 | \n",
" 30 | \n",
" Made Shot | \n",
" Layup Shot | \n",
" 2PT Field Goal | \n",
" Restricted Area | \n",
" Center(C) | \n",
" Less Than 8 ft. | \n",
" 0 | \n",
" -7 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
" 9 | \n",
" Shot Chart Detail | \n",
" 21400018 | \n",
" 299 | \n",
" 2544 | \n",
" LeBron James | \n",
" 1610612739 | \n",
" Cleveland Cavaliers | \n",
" 3 | \n",
" 6 | \n",
" 54 | \n",
" Made Shot | \n",
" Jump Shot | \n",
" 3PT Field Goal | \n",
" Above the Break 3 | \n",
" Center(C) | \n",
" 24+ ft. | \n",
" 25 | \n",
" 26 | \n",
" 249 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" GRID_TYPE GAME_ID GAME_EVENT_ID PLAYER_ID PLAYER_NAME \\\n",
"1 Shot Chart Detail 21400018 33 2544 LeBron James \n",
"9 Shot Chart Detail 21400018 299 2544 LeBron James \n",
"\n",
" TEAM_ID TEAM_NAME PERIOD MINUTES_REMAINING \\\n",
"1 1610612739 Cleveland Cavaliers 1 6 \n",
"9 1610612739 Cleveland Cavaliers 3 6 \n",
"\n",
" SECONDS_REMAINING EVENT_TYPE ACTION_TYPE SHOT_TYPE \\\n",
"1 30 Made Shot Layup Shot 2PT Field Goal \n",
"9 54 Made Shot Jump Shot 3PT Field Goal \n",
"\n",
" SHOT_ZONE_BASIC SHOT_ZONE_AREA SHOT_ZONE_RANGE SHOT_DISTANCE LOC_X \\\n",
"1 Restricted Area Center(C) Less Than 8 ft. 0 -7 \n",
"9 Above the Break 3 Center(C) 24+ ft. 25 26 \n",
"\n",
" LOC_Y SHOT_ATTEMPTED_FLAG SHOT_MADE_FLAG \n",
"1 0 1 1 \n",
"9 249 1 1 "
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"shot_df1[shot_df1.SHOT_MADE_FLAG == 1].head(2)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To save the previous output in the `DataFrame` `converted`,"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"converted = shot_df1[shot_df1.SHOT_MADE_FLAG == 1]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To get the dimensions of the `DataFrame`"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(624, 21)"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"converted.shape"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To save the output of the missed shots in the `DataFrame` `missed`,"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"missed = shot_df1[shot_df1.SHOT_MADE_FLAG == 0]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's create a new `DataFrame` as follows,"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"new_df = pd.DataFrame()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and let's extract some information from the `DataFrame` `shot_df1` and put it on the `DataFrame` `new_df`. \n",
"\n",
"Notice that we can access the information in a `DataFrame` as \n",
"\n",
"`shot_df1.LOC_X` \n",
"\n",
"or\n",
"\n",
"`shot_df1['LOC_X']`."
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"new_df['LOC_X'] = shot_df1.LOC_X\n",
"new_df['LOC_Y'] = shot_df1['LOC_Y']\n",
"new_df['SHOT_MADE_FLAG'] = shot_df1['SHOT_MADE_FLAG']\n",
"new_df['SHOT_TYPE'] = shot_df1['SHOT_TYPE']\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To display the information in the `DataFrame` `new_df` (we only display the first 5 rows),"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_MADE_FLAG | \n",
" SHOT_TYPE | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 114 | \n",
" 148 | \n",
" 0 | \n",
" 2PT Field Goal | \n",
"
\n",
" \n",
" 1 | \n",
" -7 | \n",
" 0 | \n",
" 1 | \n",
" 2PT Field Goal | \n",
"
\n",
" \n",
" 2 | \n",
" -105 | \n",
" 63 | \n",
" 0 | \n",
" 2PT Field Goal | \n",
"
\n",
" \n",
" 3 | \n",
" 227 | \n",
" -16 | \n",
" 0 | \n",
" 3PT Field Goal | \n",
"
\n",
" \n",
" 4 | \n",
" 91 | \n",
" 246 | \n",
" 0 | \n",
" 3PT Field Goal | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" LOC_X LOC_Y SHOT_MADE_FLAG SHOT_TYPE\n",
"0 114 148 0 2PT Field Goal\n",
"1 -7 0 1 2PT Field Goal\n",
"2 -105 63 0 2PT Field Goal\n",
"3 227 -16 0 3PT Field Goal\n",
"4 91 246 0 3PT Field Goal"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#pprint(new_df.head(4))\n",
"new_df.head()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can also extract information from a `DataFrame` using strings. From the `DataFrame` `new_df`, let's extract the `SHOT_TYPE` information as follows,"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"three_pointer = new_df[new_df.SHOT_TYPE == '3PT Field Goal']\n",
"two_pointer = new_df[new_df.SHOT_TYPE == '2PT Field Goal']\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To display the information contained in the `DataFrame` `three_pointer` and `two_pointer` (we only display the first 2 rows),"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_MADE_FLAG | \n",
" SHOT_TYPE | \n",
"
\n",
" \n",
" \n",
" \n",
" 3 | \n",
" 227 | \n",
" -16 | \n",
" 0 | \n",
" 3PT Field Goal | \n",
"
\n",
" \n",
" 4 | \n",
" 91 | \n",
" 246 | \n",
" 0 | \n",
" 3PT Field Goal | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" LOC_X LOC_Y SHOT_MADE_FLAG SHOT_TYPE\n",
"3 227 -16 0 3PT Field Goal\n",
"4 91 246 0 3PT Field Goal"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"three_pointer.head(2)\n"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_MADE_FLAG | \n",
" SHOT_TYPE | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 114 | \n",
" 148 | \n",
" 0 | \n",
" 2PT Field Goal | \n",
"
\n",
" \n",
" 1 | \n",
" -7 | \n",
" 0 | \n",
" 1 | \n",
" 2PT Field Goal | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" LOC_X LOC_Y SHOT_MADE_FLAG SHOT_TYPE\n",
"0 114 148 0 2PT Field Goal\n",
"1 -7 0 1 2PT Field Goal"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"two_pointer.head(2)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To know the type of `two_pointer`,"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"pandas.core.frame.DataFrame"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(two_pointer)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Notice that if we extract the column `two_pointer['LOC_X']` and save it in the object `tmp_object`, as follows,"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"tmp_object = two_pointer['LOC_X']\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The type of the object `tmp_object` is a **pandas** `series` instead of a `DataFrame`. "
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"pandas.core.series.Series"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(tmp_object)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To convert `tmp_object` to a `DataFrame`, we proceed as follows. \n",
"\n",
"Notice that the option `name` in `to_frame(name='LOC_X')`, corresponds to the name we want to assign to that column in the `DataFrame tmp_object1`."
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"tmp_object1 = two_pointer['LOC_X'].to_frame(name='LOC_X')\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which has a type"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"pandas.core.frame.DataFrame"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(tmp_object1)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To convert a pandas series or DataFrame to a numpy array, we proceed as follows,"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"np_array0 = shot_df1.as_matrix(columns=None)\n",
"\n",
"np_array1 = two_pointer['LOC_X'].as_matrix(columns=None)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"which has a type"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"numpy.ndarray"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(np_array0)\n"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"numpy.ndarray"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(np_array1)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can also do mathematical operations between columns (and rows) of a `DataFrame`, for example (we only display the first 5 rows),"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"3 22700\n",
"4 9100\n",
"6 12200\n",
"9 2600\n",
"12 -12700\n",
"Name: LOC_X, dtype: int64"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(three_pointer['LOC_X']*100).head()\n",
"#(three_pointer*0).head()\n"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"3 0.949219\n",
"4 -0.002561\n",
"6 -0.002046\n",
"9 -0.003597\n",
"12 -0.006749\n",
"dtype: float64"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"((three_pointer['LOC_X']-three_pointer.LOC_Y)/three_pointer.LOC_Y**2).head()\n"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"3 0.941909\n",
"4 0.377593\n",
"6 0.506224\n",
"9 0.107884\n",
"12 -0.526971\n",
"Name: LOC_X, dtype: float64"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(three_pointer['LOC_X']/three_pointer['LOC_X'].max()).head()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"To create a new `DataFrame` with the normalized values of `LOC_X` and `LOC_Y`, "
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" c1 | \n",
" c2 | \n",
"
\n",
" \n",
" \n",
" \n",
" 3 | \n",
" 0.941909 | \n",
" -0.038278 | \n",
"
\n",
" \n",
" 4 | \n",
" 0.377593 | \n",
" 0.588517 | \n",
"
\n",
" \n",
" 6 | \n",
" 0.506224 | \n",
" 0.562201 | \n",
"
\n",
" \n",
" 9 | \n",
" 0.107884 | \n",
" 0.595694 | \n",
"
\n",
" \n",
" 12 | \n",
" -0.526971 | \n",
" 0.550239 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" c1 c2\n",
"3 0.941909 -0.038278\n",
"4 0.377593 0.588517\n",
"6 0.506224 0.562201\n",
"9 0.107884 0.595694\n",
"12 -0.526971 0.550239"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_norm = pd.DataFrame()\n",
"c1=three_pointer['LOC_X']/three_pointer['LOC_X'].max()\n",
"c2=three_pointer['LOC_Y']/three_pointer['LOC_Y'].max()\n",
"df_norm['c1'] = c1\n",
"df_norm['c2'] = c2\n",
"df_norm.head()\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Notice that we only display the first 5 rows."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To generate a summary statistics of a `DataFrame`."
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" GAME_ID | \n",
" GAME_EVENT_ID | \n",
" PLAYER_ID | \n",
" TEAM_ID | \n",
" PERIOD | \n",
" MINUTES_REMAINING | \n",
" SECONDS_REMAINING | \n",
" SHOT_DISTANCE | \n",
" LOC_X | \n",
" LOC_Y | \n",
" SHOT_ATTEMPTED_FLAG | \n",
" SHOT_MADE_FLAG | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 1279.000000 | \n",
" 1279.000000 | \n",
" 1279 | \n",
" 1279 | \n",
" 1279.000000 | \n",
" 1279.000000 | \n",
" 1279.000000 | \n",
" 1279.000000 | \n",
" 1279.000000 | \n",
" 1279.000000 | \n",
" 1279 | \n",
" 1279.000000 | \n",
"
\n",
" \n",
" mean | \n",
" 21400602.060985 | \n",
" 250.136044 | \n",
" 2544 | \n",
" 1610612739 | \n",
" 2.448006 | \n",
" 5.295543 | \n",
" 28.170446 | \n",
" 12.136826 | \n",
" -13.997654 | \n",
" 83.936669 | \n",
" 1 | \n",
" 0.487881 | \n",
"
\n",
" \n",
" std | \n",
" 346.471023 | \n",
" 156.436191 | \n",
" 0 | \n",
" 0 | \n",
" 1.137046 | \n",
" 3.566744 | \n",
" 17.278734 | \n",
" 10.302508 | \n",
" 104.266921 | \n",
" 91.996852 | \n",
" 0 | \n",
" 0.500049 | \n",
"
\n",
" \n",
" min | \n",
" 21400018.000000 | \n",
" 2.000000 | \n",
" 2544 | \n",
" 1610612739 | \n",
" 1.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" -245.000000 | \n",
" -30.000000 | \n",
" 1 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 25% | \n",
" 21400281.000000 | \n",
" 116.000000 | \n",
" 2544 | \n",
" 1610612739 | \n",
" 1.000000 | \n",
" 2.000000 | \n",
" 13.000000 | \n",
" 1.000000 | \n",
" -94.000000 | \n",
" 4.000000 | \n",
" 1 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 50% | \n",
" 21400643.000000 | \n",
" 254.000000 | \n",
" 2544 | \n",
" 1610612739 | \n",
" 2.000000 | \n",
" 5.000000 | \n",
" 29.000000 | \n",
" 12.000000 | \n",
" -2.000000 | \n",
" 42.000000 | \n",
" 1 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 75% | \n",
" 21400891.000000 | \n",
" 379.000000 | \n",
" 2544 | \n",
" 1610612739 | \n",
" 3.000000 | \n",
" 8.000000 | \n",
" 42.000000 | \n",
" 23.000000 | \n",
" 22.000000 | \n",
" 164.000000 | \n",
" 1 | \n",
" 1.000000 | \n",
"
\n",
" \n",
" max | \n",
" 21401203.000000 | \n",
" 628.000000 | \n",
" 2544 | \n",
" 1610612739 | \n",
" 5.000000 | \n",
" 11.000000 | \n",
" 59.000000 | \n",
" 46.000000 | \n",
" 241.000000 | \n",
" 418.000000 | \n",
" 1 | \n",
" 1.000000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" GAME_ID GAME_EVENT_ID PLAYER_ID TEAM_ID PERIOD \\\n",
"count 1279.000000 1279.000000 1279 1279 1279.000000 \n",
"mean 21400602.060985 250.136044 2544 1610612739 2.448006 \n",
"std 346.471023 156.436191 0 0 1.137046 \n",
"min 21400018.000000 2.000000 2544 1610612739 1.000000 \n",
"25% 21400281.000000 116.000000 2544 1610612739 1.000000 \n",
"50% 21400643.000000 254.000000 2544 1610612739 2.000000 \n",
"75% 21400891.000000 379.000000 2544 1610612739 3.000000 \n",
"max 21401203.000000 628.000000 2544 1610612739 5.000000 \n",
"\n",
" MINUTES_REMAINING SECONDS_REMAINING SHOT_DISTANCE LOC_X \\\n",
"count 1279.000000 1279.000000 1279.000000 1279.000000 \n",
"mean 5.295543 28.170446 12.136826 -13.997654 \n",
"std 3.566744 17.278734 10.302508 104.266921 \n",
"min 0.000000 0.000000 0.000000 -245.000000 \n",
"25% 2.000000 13.000000 1.000000 -94.000000 \n",
"50% 5.000000 29.000000 12.000000 -2.000000 \n",
"75% 8.000000 42.000000 23.000000 22.000000 \n",
"max 11.000000 59.000000 46.000000 241.000000 \n",
"\n",
" LOC_Y SHOT_ATTEMPTED_FLAG SHOT_MADE_FLAG \n",
"count 1279.000000 1279 1279.000000 \n",
"mean 83.936669 1 0.487881 \n",
"std 91.996852 0 0.500049 \n",
"min -30.000000 1 0.000000 \n",
"25% 4.000000 1 0.000000 \n",
"50% 42.000000 1 0.000000 \n",
"75% 164.000000 1 1.000000 \n",
"max 418.000000 1 1.000000 "
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"shot_df1.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Notice that it computes the statistics only of the columns with numerical values."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To count the total number of 3 point shots attempted,"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"LOC_X 339\n",
"LOC_Y 339\n",
"SHOT_MADE_FLAG 339\n",
"SHOT_TYPE 339\n",
"dtype: int64"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"three_pointer.count()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To count the number of 3 point shots converted and only for the column **SHOT_MADE_FLAG**,"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"120"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"three_pointer.SHOT_MADE_FLAG[three_pointer.SHOT_MADE_FLAG == 1].count()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and to count the number of 3 point shots missed,"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"219"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"three_pointer.SHOT_MADE_FLAG[three_pointer.SHOT_MADE_FLAG == 0].count()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"At this point, let's do some basic plotting using **matplotlib** [2]. \n",
"\n",
"The first plot will be the converted and missed shots using the `DataFrames` we just created, that is, we are going to plot the shot charts."
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtAAAAKICAYAAABZis0GAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtwXPV9///XHq2MbcmSsWysm23AOCDjW6yVEYSfS9pO\n4gDf0paqiQ32t5RmHOKQtp5v+uViMMm0Q0tmStPWaZgmIYxIAVMckjQmITjhywQj2ytiI4NsMMFG\nN8uWbMm6S0dnf38cS1qtV9KevWjP7j4fMzuW1trdz+4557Pv8z7vz+fjCQQCAQEAAACIiJHsBgAA\nAACphAAaAAAAcIAAGgAAAHCAABoAAABwgAAaAAAAcIAAGgAAAHDAG+0D/+RP/kS5ubmSpEWLFmnr\n1q164IEHZBiGli1bpp07d8rj8Wj37t164YUX5PV6dd999+mWW26JV9sBAACAaRdVAD0wMCBJqq6u\nHr3vS1/6krZv366Kigrt3LlT+/bt0+rVq1VdXa09e/ZoYGBAGzdu1E033aQZM2bEp/UAAADANIsq\ngD527Jj6+vp07733yjRN/e3f/q3ee+89VVRUSJLWr1+vN998U4ZhaO3atcrOzlZ2draWLFmi48eP\na+XKlXF9EwAAAMB0iSqAnjVrlu69915VVVXp5MmT+qu/+qtx/5+Tk6Ouri51d3drzpw54+7v7u6e\n8Hn7+/t19OhRLViwQFlZWdE0DQAAAJjU8PCwzp49qxUrVmjmzJmOHx9VAH3llVdqyZIloz/PnTtX\n9fX1o//f3d2tvLw85ebmqqenZ/T+np4e5eXlTfi8R48e1V133RVNkwAAAABHfvjDH8rn8zl+XFQB\n9J49e3T8+HHt3LlTra2t6unp0ac+9SkdPHhQ69at0xtvvKEbb7xRq1at0pNPPqnBwUENDAzoww8/\n1LJlyyZ83gULFoy+mcLCwmiahiQ6evSoVqxYkexmIEpsv9TG9ktdbLvUxvZLTadPn9Zdd901Gns6\nFVUA/Wd/9md68MEHR7PFjz/+uObOnatHHnlEQ0NDWrp0qTZs2CCPx6MtW7Zo06ZNsixL27dvn3QA\n4UjZRmFhoUpLS6NpGpKotbWV7ZbC2H6pje2Xuth2qY3tl9qiLRmOKoD2er365je/ecn9wbNyjKiq\nqlJVVVU0LwMAAAC4DgupAAAAAA4QQAMAAAAOEEADAAAADhBAAwAAAA4QQAMAAAAOEEADAAAADhBA\nAwAApLFAIJDsJsTk2Wefjfhvv/e97+lHP/pRAltji2oeaAAAALhbS1eLXnj3BZ3vO6/C3EJtXr1Z\nuTNyk90sx77zne/o7rvvjuhvPR5PgltjI4AGAABIQy+++6I6+jvk8Xh0uvu09tTv0ZbVW6J+vv7+\nfj344INqaWnR4OCgHnroIT3//PNqbGyUZVn6i7/4C916663avHmzysrK9MEHH6i7u1vf+ta3tG/f\nPnV2duorX/mKBgcHdccdd+gnP/mJnn/+ef3sZz+TJN12223avHmzHnjgAXV0dKijo0O33HKLOjo6\n9I1vfEMPPfSQHn30UX388ceyLEt/8zd/o3Xr1um1117Tt7/9bc2dO1cej0e33357vD7CCVHCAQAA\nkIa6BrtGf/Z4POoa6Jrkr6f2/PPPa9GiRXr++ef15JNP6tChQ5o/f76ef/55Pf300/rWt76l8+fP\nS5JWr16tp59+WjfddJP+53/+R3fccYd+/vOfS5L27dunT3/60/r444/1yiuv6LnnntMPf/hDvfba\na/roo4/k8Xh044036vnnn9eXvvQlzZ07V48++qh2796tefPm6dlnn9WuXbv0jW98Q8PDw3r88cf1\n9NNP6/vf/77mzp0b03uMFBloAACANFQ8p1gnO07K4/Fo2BpWaV5pTM/30Ucfaf369ZKkJUuW6MyZ\nM/rUpz4lScrJydHSpUvV0NAgSSorK5MkFRUVqa2tTXl5eSorK5Pf79fLL7+sBx54QPX19WpubtaW\nLXZWvKurS6dOnZIkXXnllZe8/vvvv6/a2lodOXJEkjQ8PKwzZ85ozpw5ys/PlyRVVFTE9B4jRQYa\nAAAgDd216i6tuGKFiucUq7K0Uv/r2v8V0/MtXbpUdXV1kqSGhga98sor8vv9kqTu7m69//77Ki21\ng/SRWuTgAYx//ud/rmeeeUYDAwO66qqrdPXVV+uaa65RdXW1qqurdccdd+jaa6+VJBnGWIg68hxL\nly7V7bffrurqav3Hf/yHPve5z2n+/Pnq6upSe3u7JI0G14lGBhoAACANzciaoarrq+L2fF/4whf0\n4IMPavPmzbIsS//5n/+pH/7wh9q0aZP6+/v1la98RfPmzRv3mOBBfRUVFXrkkUd03333SZKuu+46\n3Xjjjdq4caMGBga0Zs0aLVy48JLHLV26VH/3d3+nv//7v9cjjzyizZs3q7u7W5s2bVJ2drYee+wx\n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\nhpquXyTTMmWc+0ArF65U5aJK+1Zaqfoz9SpbUKbKRZURfT6Gx9C6knVqvmCfBN65/M6xx7lxrnFA\nBNBwu+B5RgMBKT8/fgOVTFN66SXpxAk7gG5qmvq5TVP613+VfvELu02zZkkbNtgBcdCCF0/5nxrN\n4jzlf+rSTFnwpe/f+734vB84li5ZTa/h1cp5K1W+KPwy87E8L3WoY9Jlf4lW8FUJK2DpvTPvSZIa\nuhpGP4ubF9+smxffHNVzFucVq2BWgSpLg0qV3DrXODJe6IJVERkaGtLXvvY13XXXXaqqqtKvfvUr\nnTp1Shs3btRdd92lxx57bLT+affu3brzzjv1+c9/Xq+//no824505/NJCxbY/y5dKpWXS48/Pq7z\n9JX4VDCrQFbAmvry9UjmuKZmLKuRkyPNnm3/f2+v1NMzeRDt90tHj9q12YZh/1tXN5Yh0fgsjuEx\nRrM4cJ+U3FY+nz3jhWXZtwyZ/cLRsZ4gKbm/ODDVZzxyVeLWa27VkrwlWn7FcnkN77jPwrRM1TTU\nqKahRqZlTvmawc956zW3jj8hCb7aYhhjVwhD+/Ig415/sH/CvwNiFdVp3E9/+lPNmzdP3/zmN9XZ\n2ak77rhDZWVl2r59uyoqKrRz507t27dPq1evVnV1tfbs2aOBgQFt3LhRN910k2bMmBHv94F0NNko\n/4sBsFfStrVb7eWxdXH+5XCXV8NlMsrL7U553To7y21Z0p13kt2Au2Xo7BduKylJR5F8xsFXJRq6\nxq+Uag7166XvfU0dg51qubY44gy9oysdk2SlTcvUt/f/qy47clSeYUv9Jzq0Pn+FXZJC9hpxFtWe\ntGHDBn32s5+VJFmWJa/Xq/fee08VFRWSpPXr1+vNN9+UYRhau3atsrOzlZ2drSVLluj48eNauXJl\n/N4B0lu4Uf4hHaj3wAFVTrHccdhV0yQ7e9febpeKFBRMPaOAzyft32+Xe4yUcKxcOS4D6LbBV5hY\nym6rDJ3JJNklJSm7vzgQ6Wcc+lnMz56romf2aOh3h7XQ49HiY806cIcvtjr1cHONSxOugOk/VaOl\nz/9CORf6Nedsp+a0XVDzTfNUevliVspE3EUVQM++eMm7u7tbf/3Xf62/+Zu/0T/90z+N/n9OTo66\nurrU3d2tOXPmjLu/u7s7xiYj44ULhmtqVN9er5mNR+S9rlRWljH1IKNoMnler/TVr9pZ65BBhMGD\n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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.set_style(\"white\")\n",
"sns.set_color_codes()\n",
"\n",
"#shottrue = shot_df1[shot_df.SHOT_MADE_FLAG == 1]\n",
"#shotfalse = shot_df1[shot_df.SHOT_MADE_FLAG == 0]\n",
"\n",
"plt.figure(figsize=(12,11))\n",
"\n",
"plt.scatter(converted.LOC_X, converted.LOC_Y, color='green',label='converted',s=20,marker='o',alpha=0.5)\n",
"plt.scatter(missed.LOC_X, missed.LOC_Y, color='red',label='missed',s=20,marker='o',alpha=0.5)\n",
"\n",
"#plt.scatter(shottrue.LOC_X, shottrue.LOC_Y)\n",
"#plt.scatter(shotfalse.LOC_X, shotfalse.LOC_Y)\n",
"\n",
"plt.legend()\n",
"plt.grid()\n",
"\n",
"plt.xlim(-300,300)\n",
"plt.ylim(-100,500)\n",
"#plt.grid()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"**FYI, the values in LOC_X and LOC_Y are in inches**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"Let's do a plot of all the 3 point shots."
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtAAAAKICAYAAABZis0GAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3X9wVPd97//XOayEhJCELQNCK8Ax0DFcfih4Jcuuv4TE\nGZvL7Y9pHSYXHJi6TkpcHNdlmhQ7ODhOUqfO1E6d0pTJTd2pmqR2GsZpWuJf3GQ8MV6JxcGFCyYW\nsR3tSgiQQVr91uHs9w+665W00u7ZH9pfz8eMZ/BKu/vZ1dlz3vv+vD/vjxEKhUICAAAAkBAz2wMA\nAAAA8gkBNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADggCvZO/7BH/yB5s6dK0lavHix\ndu7cqT179sg0Ta1YsUL79u2TYRh67rnn9Oyzz8rlcum+++7Txo0b0zV2AAAAYMYlFUCPjIxIklpa\nWiK3ffazn9Xu3bvV2Nioffv26fDhw1q3bp1aWlp08OBBjYyMaOvWrbr11ltVWlqantEDAAAAMyyp\nAPqtt97S0NCQ7r33XlmWpT//8z/XqVOn1NjYKEnasGGDXnvtNZmmqfXr16ukpEQlJSVaunSpzpw5\nozVr1qT1RQAAAAAzJakAury8XPfee6+2bNmid999V5/+9KfH/byiokLBYFD9/f2qrKwcd3t/f/+U\njzs8PKyTJ09q/vz5mjVrVjJDAwAAAKZ15coVXbhwQatXr1ZZWZnj+ycVQF9//fVaunRp5N/z5s3T\n6dOnIz/v7+9XVVWV5s6dq4GBgcjtAwMDqqqqmvJxT548qbvvvjuZIQEAAACOfO9735PH43F8v6QC\n6IMHD+rMmTPat2+furu7NTAwoN/+7d9WW1ubmpqa9Oqrr+qWW27R2rVr9dRTT2l0dFQjIyM6e/as\nVqxYMeXjzp8/P/JiamtrkxkaAAAAMK1z587p7rvvjsSeTiUVQH/iE5/QQw89FMkWP/7445o3b54e\neeQRjY2NadmyZdq0aZMMw9COHTu0bds22bat3bt3T7uAMFy2UVtbq/r6+mSGBgAAACQk2ZJhIxQK\nhdI8lqT5/X7dfvvtOnz4MAE0AAAAMiLVmJONVAAAAAAHCKABAAAABwigAQAAAAcIoAEAAAAHCKAB\nAAAABwigAQAAAAcIoAEAAPJAOjsPX7lyRQ899JC2bt2qbdu26e23307p8Xbv3q2xsbEpf/7yyy/r\n/PnzcR+ntbVVu3fvTvh5n332WVmWlfDvpwsBNAAAQA4bHB3UAd8BPfrzR/Xk60+qo7cj5cf82c9+\nJtM09YMf/EAPPvignnrqqZQe78knn1RJScmUP//nf/5n9ff3x30cwzAcPe+BAwdk27aj+6RDUjsR\nAgAAYGY8/9bz6gx2yjAM9Y306YenfqjdtySepY3l4x//uD760Y9KkgKBgKqrqyf9zu/93u/p+uuv\nV2dnp2688UZ95StfUTAY1Oc//3kNDAzIsiw9+OCDam5u1sc+9jG98MIL+tKXvqTS0lIFAgFduHBB\nX//613X+/Hm99dZb2rNnj773ve9FAu133nlHDz30kEpKSmTbtv7mb/5GoVBI7777rj7zmc+op6dH\nH/vYx3T//ffr1KlT+upXv6pZs2aptLRUX/3qV/WLX/xCFy9e1O7du/XYY4/pwQcfVCgU0ujoqL78\n5S/rxhtvTOk9mg4BNAAAQA4LjgbHZWb7RvrS8rizZs3Snj179PLLL+vpp5+e9PNAIKDvfve7mj9/\nvh544AG98soreuONN3Tbbbdp+/bt6u7u1rZt23T48OHIfQzDUH19vR577DH98Ic/1LPPPhsJZh97\n7LFxWeojR46ooaFBf/EXfyGfz6dgMChJGh0d1d///d/rypUr2rhxo+6//37t3btXf/VXf6Ubb7xR\nhw8f1uOPP66nn35a3/72t/Xkk0/qyJEjuuaaa/TEE0+ovb1dg4ODaXmPpkIJBwAAQA5bUr1Eln21\nzjcUCqlubl3aHvvrX/+6XnzxRT3yyCMaHh4e97Ply5dr/vz5kqT169frnXfe0a9//Wt5PB5J0sKF\nCzV37lz19PSMu9/KlSsjPx8dHZ3yubds2aK5c+fq05/+tL73ve9p1qxZMgxDK1asUElJicrKyuRy\nXc31XrhwIZJR9ng8am9vH/dYH/nIR7R+/Xr96Z/+qZ5++mmZZmZDXAJoAACAHHbn8jv120t+W+5K\nt1bNX6Ud63ak/JjPP/+8Dhw4IEkqKyuTYRiTgs533303khX+5S9/qd/6rd/SDTfcIJ/PJ0nq7u5W\nMBjUvHnz4j6faZqTapVfeeUVeTwe/dM//ZPuvPNOfec735EUuw56wYIFOnPmjCTp6NGj+tCHPjTu\ncVtbWzV//nx997vf1Wc/+1k9+eSTTt4OxyjhAAAAyGGmYep/Lv+faX3MTZs2ac+ePfrUpz4ly7L0\nxS9+UaWlpeN+Z/bs2frCF76gnp4e3XTTTdq4caM+/OEP6+GHH9aLL76o4eFhPfbYY5HMcVj439G3\nffjDH9YXvvAFPfPMM6qqqpIkrVmzRn/5l3+pb3/727JtWw8//LCCwWDMAPqrX/2qvvKVrygUCsnl\nculrX/uapKvZ6D/5kz/R008/rd27d+sHP/iBrly5ovvvvz+t79dERiidPVFS5Pf7dfvtt+vw4cOq\nr6/P9nAAAACK1u/+7u/qJz/5SbaHkRGpxpyUcAAAAAAOEEADAABgkkLNPqcDATQAAADgAAE0AAAA\n4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADg\nAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAA\nATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AAB\nNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0\nAAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQA\nAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAA\nAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA4AABNAAAAOAAATQAAADgAAE0AAAA\n4AABNAAAAOAAATQAAADggCvbAwAAAOlh2ZZ8AZ8kyeP2yGVymQcygU8WAAAFwLIt7W/br56hHklS\na6BVu5p2EUQDGUAJBwAABcAX8KlnqEemYco0TPUM9USy0QDSiwAaAAAAcIAAGgCAAuBxe1RTXiM7\nZMsO2aopr5HH7cn2sICCRGEUAAAFwGW6tKtpF4sIgRnAJwsAgALhMl1qXtyc7WEABY8SDgAAAMAB\nAmgAAADAAQJoAAAAwAECaAAAAMABAmgAAADAAQJoAAAAwAHa2AFAgbJsi57AAJABnE0BoABZtqX9\nbfvVM9QjSWoNtGpX0y6CaABIA0o4AKAA+QI+9Qz1yDRMmYapnqGeSDYaAJAaUhF5hOlYAACA7Esp\nA93T06OPfOQjeuedd/Tee+9p69atuvvuu/Xoo48qFApJkp577jnddddd+uQnP6mf//zn6RhzUQpP\nxx5qP6RD7Ye0v22/LNvK9rAA5CiP26Oa8hrZIVt2yFZNeY08bk+2hwUABSHpFObY2Ji+9KUvqby8\nXKFQSI8//rh2796txsZG7du3T4cPH9a6devU0tKigwcPamRkRFu3btWtt96q0tLSdL6GohA9HSsp\nMh3bvLg5yyMDkItcpku7mnYxawUAGZB0BvqJJ57Q1q1bNX/+fEnSqVOn1NjYKEnasGGDjhw5ohMn\nTmj9+vUqKSnR3LlztXTpUp05cyY9IwcATMtlutS8uFnNi5sJngEgjZIKoA8ePKhrr71Wt912myQp\nFApFSjYkqaKiQsFgUP39/aqsrBx3e39/f4pDLk5MxwIAAOSGpFISBw8elGEYOnLkiN566y3t2bNH\nly5divy8v79fVVVVmjt3rgYGBiK3DwwMqKqqKvVRFyGmYwEAAHJDUhHYv/zLv0T+vX37dn35y1/W\nE088oba2NjU1NenVV1/VLbfcorVr1+qpp57S6OioRkZGdPbsWa1YsSJtgy824elYAAAAZE9aUpiG\nYWjPnj165JFHNDY2pmXLlmnTpk0yDEM7duzQtm3bZNu2du/ezQJCAAAA5LWUA+iWlpaY/w7bsmWL\ntmzZkurTAAAAADmBnQgBAAAABwigAQAAAAcIoAEAAAAHCKABAAAABwigAQAAAAcIoAEAAAAHCKAB\nAAAABwigAQAAAAcIoAEAAAAHCKABAAAABwigAQAAAAcIoAEAAAAHCKABAAAABwigAQAAAAcIoAEA\nAAAHCKABAAAABwigAQAAAAdc2R4AAABAulm2JV/AJ0nyuD1ymYQ8SB+OJgAAUFAs29L+tv3qGeqR\nJLUGWrWraRdBNNKGEg4AAFBQfAGfeoZ6ZBqmTMNUz1BPJBsNpAMBNAAAAOAAATQA5CjLtuTt8Mrb\n4ZVlW9keDpA3PG6PasprZIds2SFbNeU18rg92R4WCgjFQACQg6jhBJLnMl3a1bSLRYTIGI4mAMhB\n0TWckiI1nM2Lm7M8MiA/uEwXnxdkDCUcAAAAgAME0ACQg6jhBIDcRQkHAOQgajgBIHdxNgaAHEUN\nJwDkJko4AAAAAAcIoAEAAAAHCKABAAAABwigAQAAAAcIoAEAAAAH6MIBAADyimVbtHhEVnHEAQCA\nvGHZlva37VfPUI8kqTXQql1NuwiiMaMo4QAAAHnDF/CpZ6hHpmHKNEz1DPVEstHATCGABgAAABwg\ngAYAAHnD4/aoprxGdsiWHbJVU14jj9uT7WGhyFAwBAAA8obLdGlX0y4WESKrOOIAAEBecZkuNS9u\nzvYwUMQo4QAAAAAcIIAGAAAAHCCABgAAABwggAYAAAAcIIAGAAAAHCCABgAAABwggAYAAAAcIIAG\nAAAAHCCABgAAABwggAYAAAAcIIAGAAAAHCCABgAAABwggAYAAAAcIIAGAAAAHCCABgAAABwggAYA\nAAAcIIAGAAAAHCCABgAAABxwZXsAAAAA6WLZlnwBnyTJ4/bIZRLqIP04qgAAQEGwbEv72/arZ6hH\nktQaaNWupl0E0Ug7SjgAAEBB8AV86hnqkWmYMg1TPUM9kWw0kE4E0AAAAIADBNAAAKAgeNwe1ZTX\nyA7ZskO2aspr5HF7sj0sFCCKggAAQEFwmS7tatrFIkJkHEcVAAAoGC7TpebFzdkeBgocJRwAAACA\nAwTQAAAAgAME0AAAAIADBNAAAACAAwTQAAAAgAME0AAAAIADBNAAAACAAwTQAAAAgAME0AAAAIAD\nBNAAAACAAwTQAAAAgAME0AAAAIADBNAAAACAAwTQAAAAgAME0AAAAIADBNAAAACAAwTQAAAAgAOu\nbA8AAAAkxrIt+QI+SZLH7ZHL5DIOZAOfPAAA8oBlW9rftl89Qz2SpNZAq3Y17SKIBrKAEg4AAPKA\nL+BTz1CPTMOUaZjqGeqJZKMBzCwCaAAAAMABAmgAAPKAx+1RTXmN7JAtO2SrprxGHrcn28MCihKF\nUwAA5AGX6dKupl0sIgRyAJ88AADyhMt0qXlxc7aHARQ9AmgAyALakQFA/uKMDQAzjHZkAJDfWEQI\nADOMdmQAkN9IdwB5ihIAAACygysukIcoAchvHrdHrYHWyN+PdmQAkF+42gJ5KLoEQFKkBIDV+fmB\ndmQAkN+SOmNfuXJFe/fu1bvvvivDMPTlL39ZpaWl2rNnj0zT1IoVK7Rv3z4ZhqHnnntOzz77rFwu\nl+677z5t3LgxzS8BAPLPTLQjo8wHADIjqbPpz372M5mmqR/84Adqa2vTk08+KUnavXu3GhsbtW/f\nPh0+fFjr1q1TS0uLDh48qJGREW3dulW33nqrSktL0/oigGJDCQDiocwHADInqTPpxz/+cX30ox+V\nJAUCAVVXV+vIkSNqbGyUJG3YsEGvvfaaTNPU+vXrVVJSopKSEi1dulRnzpzRmjVr0vcKgCJECQDi\nocwHADIn6SvurFmztGfPHr3yyiv627/9W7322muRn1VUVCgYDKq/v1+VlZXjbu/v709txAAksSMZ\nAADZklLK6utf/7ouXryoLVu2aHR0NHJ7f3+/qqqqNHfuXA0MDERuHxgYUFVVVSpPCQBIAGU+AJA5\nSW2k8vzzz+vAgQOSpLKyMpmmqdWrV6utrU2S9Oqrr8rj8Wjt2rXy+XwaHR1VMBjU2bNntWLFivSN\nHgCKnGVb8nZ45e3wyrKtyO3hMp/Nyzdr8/LN1D8DQBoldTbdtGmT9uzZo0996lOyLEtf/OIXdcMN\nN+iRRx7R2NiYli1bpk2bNskwDO3YsUPbtm2TbdvavXs3CwgBIE3iLRSkzAcAMiOpALqsrEzf/OY3\nJ93e0tIy6bYtW7Zoy5YtyTwNAGAaLBQEgOxIqoQDAJBb7JAtf69fJ7pPjCvlAACkHwE0AOQpj9uj\nmvIaWbalVn+rAsGA3ut7T/vb9hNEA0AGEUADQJ5ymS7t9OzUFeuKSswSNbob5TJdkVIOAEBmEEAD\nQJ6ybEsHfAfUPditvpE++Tp9skN2tocFAAWPABoA8lR4EWF9db3mlM7R4Oig/L1+ej4DQIbRFBQA\n8pxpmGpyN8nf69ct9bfonvX30PMZADKIDDQA5KnwIsJw2ca62nUEzwAwAzjLAkCeCu82GF4w6HF7\nCJ4BYAZwpgWAPGDZVsxAmd0GAWDmEUADQI6Lt2U3AGBmUQMNADkuestu0zDp8wwAWUb6AkBemKqE\nAQCAmcYVCEDOK/YSBo/bo9ZAa+T10+cZALKrOK4+APJadAmDpEgJQ7EsnqPbBgDkFs7AAJAFU5Wk\n0G0DAHIfATSAnFdoJQxTlaRIKupSFQDIF5yVAeSs6GzsTs9OHe86Lin/SximKkkJ/7tYS1WQWSzE\nBdKHTw+AnFTsCweBdAgHzZZt6WjnUV0aviSJzxOQKvpAA8hJhdz72OP2qKa8RnbIlh2yIyUpU90O\nJCP8JfRQ+yH94y//US+0vyBJBfd5ArKBr54AMMOm66pBtw2kS/SXUMMwNDQ2pM6+TtVX12d7aEDe\n48wMICcV2sLBiabqqkG3DWSCu8otf5+f2Q0gTQigAeQkeh+jEM3kQr6JX0LvXHanmuqb5DJcfJ6A\nFPHpAZC0TAcDZGNRSGZ6YSxfQoHM4ZMEICl0yQCcycaOmnwJBTKDLhwAkpKLXTIs25K3wytvh1eW\nbWV1LACAwkWqCEBBICOOXFfoC2OBYsKVBUBSci0YyMb0OOAENclA4eCTCxSxVBYBJhIMsHUwMB41\nyUBh4GoGFKl4JQ+JBL/TBQMzXVKRaxlxAEDhIoAGitR0JQ/pCH5nuqSC6XEAwEzh6gJgknytJy7m\n6XHKZQBg5tDGDihSHrdHNeU1GdvaN9OPjw+EZwwOtR/SofZD2t+2nzZ+AJBBpCiAIjVdyUMy9cSx\nMqCUVMyMWDMGXr9XLuODvyfvPTKNWRAUE45uoIhNVfLgNPidrma6WEsqsskO2frRqR+pcnalJHpi\nI/Pow45iQwkHgJjCwW/z4ua4F8F07ErILoLTm+79iS6XsWxL7T3tujR0SZJyZpdIFLZc3JkUyCS+\nGgLIOrJX04v3/oRnDLx+r3506kcqc5Xp15d+rXMD59Tkbsrm0AGgIJGBBpCyVBcM5mv2aqay5om8\nPy7TJZfhUuXsSi2Zt0RzSudocHRQ/l5/0S7gzPVZjVwfnxMsGkaxIb0DzKBcWWST7nEU44LBWFnh\nnZ6dOt51XFJ23wPTMNXkbpK/169b6m/RPevvSXgsuXKMpirXZzVyfXxOFeM5AMWNoxuYIblywczU\nOFJZMJiPuwhO7HxxYfCCHnrloYws3Ev0/Zn4e+tq1zkOnnPhGE2HXO9lnuvjSwaLhlFM8u+sCOSp\ndF8wk80U5so4ouVC9irV19HZ1ylJqi6rlpTegGi69yc8bsu2JEO6qe4mKXT1Pk5fRyEGdQCQCQTQ\nQAJybVo7VzKF6RxHNrNXybwOj9ujIx1HdPL8SUlSZWmlKssqk37+eMdXrPcnPO4Lgxd0NHBU0tUA\nemhsSHetuiupsSQ7vlyTyVmNdLwf+TjrAuADuX8WBLIsXUFiOi+YqWQKc2UcuSTZ12EYRuTfi+ct\nlilTl0cuS0r8fU3l+AqPuyvYpWFrWKFQSP/31/9XpbNK1Tvcq2Odxxwdq7GOjYZFDTnxZc2pTM1q\npOt8kAuzLgCSx6cViCNdQWKuXDBzZRz5zhfw6dLwJS2Zt0SS1DfSpzuW3eF4979Ej69Esp59I30y\nZGi2a/a4bh2JHquxjo18/pKUiVmNdL4f1AwD+YurJjCD0nXBTDWLnCvjyBXpeh0uIzMB0VRZz/C4\n7ZAtf59fw65hlc4qVXlJueqq6pJ6LoI6AIiPABqIIxeDxFzJIufKOFKVzOtYvXC1vun9pvpH+7W2\ndq0WVixM6rhI5PiaLusZHvemZZtkhSz9+PSPVTG7YsrHysT4ckl0pr5hUUPa2wrm2/sBIDOMUCgU\nyvYgwvx+v26//XYdPnxY9fX12R4OEJGPi6iQGZZt6Re/+YUe/dmjGrsypu7Bbs0tmauf3/NzzSub\nl/RjTnd8eTu8OtR+KBJA2yFbm5dvjpkpntiVw2Uk3o1jqnFMvF1STn4eojP1dsjWqfOntGrBKpmG\nqZrymrTVbnM+APJfqjEnn3ogAUxrQ/ogQHv57Ms6+/5ZDVlDmlMyR+9b7+uzP/ms/uWuf8lIBxIn\nWc9w+zqnC92mWxwXPb5c6QATS3SmvrOvUxcHL6or2KXF1YvT3laQ8wFQ3NjKG0BMhbTNcLqEAzTD\nMDR6ZfTqf/aoDMNQ/2h/xrYfD5eYbF6+WZuXb44bsCazNXqi98nXbdezjc8TUFiynzIAkHNyOcuY\nDqlOwa+rXac3u9/UkDUkhaQ5JXO0tnZtRseWS1lPO2Qr0BeQJC2qXJTl0XwgOlNfW1mr94fe16LK\nRbJDdsZqlWP9vYatYbUcb5EkbW/YLpfpGlda8uzJZ3XXqrvUvLi5YD5TQLHhkwtgknxuXRZPKl8O\nogO0bWu26cW3X1RdZZ3WLVqX9CLCdI1tqnFKiS10S/Q+DYsa9MRrT+ji4EVJ0qWhS9q7Ya+j8WXK\nxMWgezfsTfsiwmix/l73rr9XOw7uiLw/P23/qf6s+c8iv+Pr9GlwdFC9I7061uWsTzeA3MGnFsC0\n7JAtf69fJ7pPJBSEzNQCq2S7LaTy5WBigPboxkcdB2jTvT/Z7DnuMl3a6dk5KXM60fGu41q1YJXO\nBc9Jkmora3W863jOfLmamKnP5Bb1sf5eX/v513Rx8KJM8+ptFwcv6oVfvaCSkhJ19nVqaGxIhmHI\nMIyC+mIKFBsCaACThLOR0VtEv9f3nva37Z82YzZTpR8Tuy088doTkW4LmS43SSVAm8nSGKclH5Zt\n6YDvQGRsB3wHphybaZiqr766at0O2ekZcA5J999p6bylGrFH5O/1KxQKaU7pHLmr3OkcMoAZxiJC\nIIdNXHg0UwuRwhnMpVVL5a506+b6m+UyXXEXjKVrgVm81xn9PF3BLl0cvKhzwXMJPafH7dG82fP0\nm8u/0W8u/0bzZs+bsT6+8d4fj9ujmvIa2SE7o3W7yYwtF8Y4U1J5L7648Yu6bs51sm1btm3rujnX\n6Y/W/5F2Ne3SH6//Y91Ud5M8dVffr2TeOxYjArmBDDSQoyZmwY50HJFhGLo0fElS5hf2uUyX1ixc\no45gR2SKOlF2yFZnX6fskC0r5OwiP1X2T/qg93CqgYNhGDH/nW35sDFNPoxxpkz1Xnz/E98fVwpT\n5iqTJN225DY11zcn/d7l2uJe+mGjmHG0AzlqYn3lyfMnJUlL5i2RNDML+5wuRvO4PXrd/7peaH9B\nQ2NDKi8pV5u/Tc31iXcbiFVX6u3w6ljXscg4rim7RvNmz9PlkctaVLlIl4YuqbayNqGMqC/g06Xh\nS5H38dLwpRmrQ03k/cxWtw2nvaYLuW431feizFWmz3g+k/DvJyqXFvfmWjAPzDSOdABTcpptdJku\nNdY16kT3CRmGIXeVW5dHLqd8kT994fS4wOHS8CXdsewOuYyrY8l0t4V0yeXsbS6PzYl0ZEWTeS+S\n2a0xnzO4voBPFwYvRBaT2iGbBZEoKvnzaQWKzMQs2OoFq8eVcKS79jRd/Yddpkv11fXjtp12Ilb2\nb+WCleoIdox/HiO5xXzJtHhLp1zO3uby2BIxXVbUabDq5L2Y+Lyv+19XKBTS5ZHLk8aRyFinku1j\nN5oVsnQ0cFTD1rAkqaOvQ5uWb8rKWIBsIIAGclSsLJgUP6uVjHROx6Z6kZ/qdR/rPJaWwKFQMq2Y\nbKoSh2S2Nk/leU90n5A0fblVMuUYOXXshhK8DShQXDWAHBYrC+YkK5boFPKJ7hO6MHgh8jup1Fam\n4yIf63WnM3DI90wrnMml2uFU5cqx6zJdanQ3qivYJenqjpR8EUUx4WgH8oSTKehEMsrRv+Pv9SsQ\nDOjm+psnddxIpk4zfJFPZ41nrgQOyF1TzX74Ar5IZxjp6uYvmXzeNQvXjCvhiDVjMt1MTazPjZMv\nxE7vl8prDp8vCrGdITAdIxQK5cyki9/v1+23367Dhw+rvr4+28MBcsbEgLimvGbaKWhvh1eH2g+N\nq0PevHzzuAA0+nfskK1Wf6vclW7VV9dHHl+So+dNZcxAOsQKGIetYW37t22R7bWvm3Odvv+J70fa\ny2XieaXkFhHG+tzs9Owct8lNrM9SsvdL52vms418kmrMydEO5IFEp6CHrWH90xv/dLVntGlo6byl\nkQA5XJcZ60JnGqYa3Y1aWrVUaxauifyOt8Ob9NR3IU2bI3/EmqkIbz8eXW6Q7u3Hpyu3Cm9+IsXP\nDMf63LSt/stRAAAgAElEQVQcb4n7WUr2ful+zUCxIIAGCsSwNaz//cP/rf86/18auzKmEWtEa2vX\nqsndpLcuvCVJ6gh2RMo5Jk4hz58zX/esv4csEgqSaZhaXL1Y0sxuPx6rnGpiZpgeykD+YStvIA8k\nsn1yy/EWvXP5HQ2ODsqyLZW5yjQ0OqTQlZBWLVgll+katy1xeLHf5uWbtXn55pgX8FS2bY53X7Yk\nxkxJ9DjOxDEZa1vw6MzwxK3CY411e8P2uONP9n4AksPXXSBHxFsAtNOzU76AT6cvnNbKBSsn3f+K\nrujCwAUNjg3KMAyZhql55fN0w7U3TOqhHBZvCjYcZHv9Xp0+f1oralbI6/fKZbgS2lRlqs4Z7GKG\nmZRIZ5h0HJOZ3MRlp2fnuO3BJU0qC4l1v5xpewcUGD5JQA5IZJo3enOGjmCHjnUeG3eBv7HmRlWW\nVmrIGtIV+4pMw9QN19yg7Q3bJy0kcpqFOtZ5TBcGL+jfTv+bJKnR3ZhQgDFVgE59NGZavC+LqR6T\nUwXgsbptxPtMThyrZVvjfv/v2/5+3KZK0Z/FieOlThnIDAJoYIZMl51KZAHQxM0ZLgxe0DNvPBNZ\n9FfmKtNd/+MuHT93XJeHL2vFtSv0yf/xSZW5ylLKQoXH1hXsiuw6di54TqZhEvQC/226ADzVzPDE\nxz55/qSk6TdqAZBZBNDADEjL9HDIUntPu37V8yvdcO0NOhc8p86qzsjCwJ2enWoNtGr9ovXq7OtU\n9ezqSFYrVkYrm9O6ubQlMSBl9pgkMxxfts9JgFMsIgRmQKyFROGLhRR/AdDolVG90fmG3rr4lv6r\n+7/0/Onn9e7ld1VXVRd5vONdx7XTs1MDowOSpIrZFTrgOzBpMVQ4mD/UfkiH2g9pf9v+aRdMhce2\nqHKRylxlKnOVqbayNi3baU+3gBGYSakek6ksuHX62KsXrNaahWsKZnGg03MSkAu4YgE5IN4CoB+f\n/rFMw9Tc0rkatUc1ao3KDtk6Fzyn+uoPGsAf7zquitIK9Y30qSvYJTtkjyvzcJkux7We0ePYtGyT\nZCihRYSJvGYycMglqRyTqSzYi5d9jfXYUvyNWpJ9vpnGmgjkIwJoFJ1sXDwSmR6ebpr3RPcJGYYh\nwzBU5ipTiVGiK6ErOtd/TrWVtZo/Z748bo+8HV4dDRzVsDWsUCik137zmprrm8f1f04GwS4QXzKf\nk3jlXeHzlRWypJAityf7mbRsS097n47UUR/pOKIHmh/IehAN5Bs+MSgq2Wqflmo7qe0N2/Wfb//n\n1U1SrDGNXBnRb133W7qu4joNjAxo74a9Vx/P+OA+fSN9Gr0yKtMcXzZC/TGQO6bLvobPVxcGL+ho\n4KikxDvgTMXb4dWLZ1+MLAgOBANqcjfptqW3pe9FOcQ5CfmIABpFJZtThdNljKKz4g2LGnS867ik\nDwLtMleZ/nXLv0a26ZYpXT/v+sg23eFtiV2GS43uRp0LnlP3QLcuD1+WOWGpA71hgfwQPl+dC56L\nBLxdwa6UOuCcvnBaQ2NDMs2r54WhsSGdvnA6bgAdKxOernMH5yTkI45QIMuis+J2yNYTrz2hVQtW\nyTTMcZmmMleZPtv0WTUsatCh9kORLwHRwpkc0zBVW1mrU+dPqbaydtJCI0oygNww09nXlQtWqryk\nPBKQl5eUx9yYKVomMuETcU5CviGARlGZeLG6puyayPa9qWY9kq2tjs6Kd/Z16uLgRXUFu7S4evGk\n6VxfwCfLtnRN2TWRTRQmBsbRmZy9G/ZOymYDyB3TZV/D5ys7ZKuj7+puogvnLlRwJCgrZMmyLcef\n6eb6Zm1avinSV37NwjVqrp8+cM1EJhzId1xNUVSiL1ZWyFKbv00v/folSYnXQ0+15XZ0bfWRjiNq\nqm+K263Csi2d6D6h31z+jUzD1IXBCwqFQjF/L/rx582ep9s/dLt+dfFXWjl/5bjfmzg2Lm5Abpvq\nczquA87yTbKuWPrxWz9WxewKvXT2pUm7kSb6XJ+7+XOTOnpM3BY8WRPPQVLy3ULSLde6jyC/cfSg\n6IQvVt4Ory6PXHZUDz3VIsToLLIdsvXi2Rd18vxJ1VfXTxmYhx+re6BbXr9Xo1dGVVdZp76RPi2c\nu3Bc2cXE2u33h9/X86efV2VZ5dVtvbuOTdr6e6YWSALInOjg2tvhVWVZZcprOKIfM5GF1bEy4Ysq\nF00qN5n4WK/7X1coFNLlkctTPvZMydYCchQujhzAgakWIUYL9AWuLtKZsGnKxItc+LG6+7u1oGKB\ngqNBXVN+jTZcv0Efqv7QuN7NE3X2dUqSqsurI+OYuPU3vVQBxJPIwuqJmfCpFhFOfKxwmUgubDlO\nr2mkGwE0ilY6F+9EP1YoFFJ5SblqK2vV0duhUCgUd1etUCikgdEBvT/0vqT/rkuMOrFPHGt1WbUq\nSiscjZHpSyC/JXPOitfhJ1GUgwHjcQVF0UqmdVL4AnZh8II6+zpVXVathkUN42urbUtev1cv//pl\nDY0NqbykXEc7j15tMxe1OYIVshQcCapmTo3O9JzR6JVRDVlD+o8z/6GH/7+Hpx1rw6KGceUa4a2/\nJ94WvrgyfQnkP6fnrEQ6/GQqkSBdTQREl3A4eex0f+Gn1zTSzQjFWrGUJX6/X7fffrsOHz6s+vr6\n+HcAsmDYGtZDLz+k3pFe1VXVaf6c+ZOC0V/85hf6xzf+UaZhqq6qTpK0efnmcZsjhC9q3g6vzg+c\n1yxzliRpbulc7Vi7Q5/xfGbacUy1mDHWRcfb4R3X+s4O2ZHxAChM0Z97f69fv+r5lVbUrNDi6sXj\nzgHpDFbTsYhw4hf+mvKatHzhZxYO0VKNOTl6kFX5cEKbOMbjXcdVWVY5rv54Us2g4VJdVZ3OBc+p\ns69TtZW1kZ9F1+KZhqkyV5lMw1TV7Cr1jfQpOBLUldCVpMbKNCsAp1I5byTS+cfpYzutV070OsL5\nEemUe9EKisZMlhVMd4KN97OJY7xp0U1xn2P1wtV64rUndHHwoiTp/aH3tXfD3pj3W1u7VsGRoDp6\nO2TZluaUzFH/aH+kbjrW2Jy+d0xfAsUn+nNfW1mr94fe16LKRZM2VkrWxNm46ToOZSpRQnkasoUj\nDFkzU6uipzvBxjv5xhqjjKsBaHQw2rCoYdzjPHvyWd04/0Z193dLutryKbzd9sRgdmHFQn1p45f0\n1OtPyTAMratdp77RPnk7vDrWdSzm2Jy+d2yVCxSfTG6sZNmWHnrlIR3rOibDMNTZ3ylPnWfSeSiZ\nANfJF366ayBbuIKi4E13gk3k5GuHbAX6ApKuBsIuY3IwOvFxekd61TvSqyXzlsgO2fL3+nWi+0Rk\nFfxNdTeNawXlC/i0vm79uBrl0xdOp/XCwPQlUHwmfu7TdQ7wBXzqHe6VYRgyDENDY0Py9/kjrevC\nAXoyAS5f+JEPzGwPAMXL4/aoprxGdshO25RiujUsatCp86f0ds/bervnbZ06fyrSdaN5cfO4zhrR\n6qrqVF1WLcu21OpvVSAY0Du972jbv23Tf7z9H1d3Ees6FrkwxHovVi5YGWNEV+XDewegsNVV1am8\npFyhUEh2yNa7l97Ve33v6VD7Ie1v2x+3fed04p1jwzgXIlv4Soesmaksw3TTgfGmCo93HdeqBat0\nLnhOklRbWRspxZjuOebPma+9G/aq5XiLOvs6VV9dr86+Tl0cvKiuYJfcVW69ee5N/Z83/o9Wz18t\nl+nSTs/OcdOrknSs81jMsZGhAZCsVGuSw204B0YH1FDboJPdJzVsDY97rHCmOdPrLzgXIls4ypBV\nM1FWMN0JNpGTr2mYqq++2uLGDtkJPUf0hgV1VXWR6Uvp6qYpXr9X3f3dOtJxRIYM3XDNDdp4/Ub9\n+a1/Pu75pxsbJRkAnEp10V30/ctLynXkN0d0/bzrJV39wu+udOvi0EVdV36dLNtKOMBNJajnXIhs\nIIBGUZjuBDvdz5xkT8KPM7HP86nzp7RqwarIKnjLttT+fruGx4YjOw/2DPbo7KWzanQ3auOHNiY0\nNgBwKtVFd9H3P99/XnbI1ixzlhZVLtIR/xH9v/P/Ty7TpTklc7R6wepICcZ0j08nDeQjaqCR8yzb\nkrfDK2+HN6WaumSEsyebl2/W5uWbEzqpR19gXKZLqxas0tKqpfqdFb+j73/i+3LPdauqtEqzzFkK\n6WrtoCVLg2ODevHtF2folQGAc1bIkr/XL3+vf9yMXFewS+WzyjW3dK6um3OdFlQs0KkLpyJZ5el4\nO7x689ybkcXa4aAeyGV8vUNOG7aG9dArD6l3eOo+o+mo55vu/qlmgU3D1JqFayKP8b9u/F96o/sN\nDYwNyJAhGVKJWSKX6dLSa5cm/TwAEE+8WbV4ffHb/G0KBAMaGhtSmatM15Zfq0WVi9TZ16mykjJV\nl1fLNEwlusmxZVv60akfqf39dhmGoUAwIE8diwCR+wigkbMs29JDL0/fZzSd9XzJ3D+WeBeo5vpm\nbVq+Sb/s+qVGrBFZtqX5c+brQ9d+SH/U8EdJPy8AxDNdTXIiffEvj1zWzfU3K9AXUCgU0o6GHSqb\nVXZ1pjDg1ctnX9bQ2JDKS8q1esHquAsGfQGfKmZXaE7pHA2NDWlwdFADowN00kDOI4BGzvIFfOod\nGd9ntLOvc9LvpFLPF546NAxD7ip3QvcPl5ScvnBaKxesVHN986TFfTs9O9VyvEWStL1h+6Sff+7m\nz8kX8One9ffq9PnTmmXO0vaG7SpzlSX8/gBAMqaaVUv0fGoaphZXL5ZlW3r74tuRGbbmxc1qrm/W\n6fOntXL+yrgt6KIfr8ndpM6+TtkhW3etumtcUE+HDeQijkTktLqqOnX2d2pobEihUEjVZdVpy0wk\nM3Vo2Zae9j6tF8++GMmybFq+SZ+7+XPjTvgHfAciWZwDvgOTstrRF7CPXP+RtLweAMik6Nm18AJp\nSeoIdkSy1bctuU23Lbktqcesq6pTTXmNmuvTM8MIZFJSR+HY2JgefvhhdXZ2anR0VPfdd5+WLVum\nPXv2yDRNrVixQvv27ZNhGHruuef07LPPyuVy6b777tPGjRvT/BJQqMInVk+dR519naqeXa3HP/74\nuJOnky4ZEzMZyUwd+gI+nTx/teepaZoatoZ1ovvEuCwNW8sCyEfxzqfR5R/hHQdj9X12kjGerqRk\nqnPpdM8RfZ6PbidK9hrpltTR9JOf/ETXXnutvvGNb6i3t1e///u/r5UrV2r37t1qbGzUvn37dPjw\nYa1bt04tLS06ePCgRkZGtHXrVt16660qLS1N9+tAAYpXqxe+PXoDkoZFDQnX9t206KZppw4BoJgk\n0rM5evasI9gx7mcjV0b0+Zc+P+2i76meN9EEw3RZacu29K3Wb+lE9wnZIVuXRy5r9YLVMg2T7DXS\nLqkjadOmTbrzzjslSbZty+Vy6dSpU2psbJQkbdiwQa+99ppM09T69etVUlKikpISLV26VGfOnNGa\nNWvS9wpQ0GKdWKc6gUqa8sQaK5Mh42qGJdbU4VQ8bo+OdByJrEIvLynXmoVrxmVpMr3zFgBkSqLB\n7MTz3DVl1+jgqYP65blfTrno26lY51IZmnKGz+v36oX2FzRsDatvpE+9w726tuxaLZm3hJlApF1S\nAfScOXMkSf39/fqzP/szPfjgg/rrv/7ryM8rKioUDAbV39+vysrKcbf39/enOGQUu1jBcHhR35vn\n3lR9db1Mw4x7wnQZzreAdZkuPdD8gJrcTZMWEU6VFWfqEEChmZittmxLJ7pPTLvoO9XniC7diOX0\n+dMaGhuSaZqRMV0YvKAl85akNA4glqSv6l1dXbr//vt1991363d+53f0jW98I/Kz/v5+VVVVae7c\nuRoYGIjcPjAwoKqqqtRGDExgh2z96NSP1DvSq/b329XZ36kmd9O432lY1KBnTz6r3pGrU4vz58yP\nBLZOMxIu06Xblt6m25Z+sFCGxS4Aik30+dPb4VVdVZ0CwYDOD5yXbdvqn9MvK2RFtvRO9Tmk6Wf4\nVs5fqfKScg1bw6osrdTQ2JBqymtkh2xmApF2Se1EePHiRf3xH/+xPv/5z+sP//APJUkrV65UW1ub\nJOnVV1+Vx+PR2rVr5fP5NDo6qmAwqLNnz2rFihXpGz2KksftiZwU7ZCtgdEBVcyuUH11veaUztHg\n6KD8vf7ICTPcFaNidoUkaWB0QDs9O9Ma3EZnxaOz3wBQDMLn5VAoJNu2dWnkkt4ffl8vtL+g/W37\n07aL7HS7wzYvbtady+7UsmuWafm1y3Xvh+/Vp2/6dMK7yAJOJHU0/cM//IOCwaD279+v/fv3S5K+\n+MUv6mtf+5rGxsa0bNkybdq0SYZhaMeOHdq2bZts29bu3btZQIiUTZo6DFl66exLkQWB/l6/bqm/\nRfesv0cu0yVvh1c9Qz1ymS4tmbdEdsjW8a7jjhat0IcUACaLPj9+eNGHdaL7hEpdpaoertaYPaZz\nwXMyDTOpDh1TmWrmMFxix/kaMyGpI2vv3r3au3fvpNtbWlom3bZlyxZt2bIlmacBphR9ArVsS8c6\nj0Wm9NbVrosEz6kK930+ef6kJOlIxxE90PzApMdm4SCAYjOxdC04ElRdVZ0Mw1BwJDjt7yZa5uY0\ngZFMWR6QDL6aIe/Fa72USnDr7fDqxbMvatgaliQFggE1uZvG1T8nMgYAKDQTF3RXlFZoYGRAiyoX\nyd/nlyTVVtbG7Z4xFdaWIJdxFCIjZrrsYbqsQyrB7ekL41d1D40N6fSF05MC6HhjAIBCZxqmfn/l\n7+vti2+rfm69Vi5YqdmzZsftnjGVZDalouQOM4UjC2mXi1mDZIPblQs+WNUtSeUl5Vq5YGW6hwcA\neSdWL+g3Ot/Q5ZHLkqSRcyORc/9MlLnl4rUHhYujCmkXL2vgNEOQ7oyCk8drrm/WpuWbItvWrlm4\nJu5mKwBQDGL1gn7p1y/FPPcnMxPoNOhOJmMNJIsAGo5YtiWv36vT509r5fyVkROjk/s7yRCkklGI\nFSg7fTyX6dLnbv4cU4IAEMPEXtCJ/q4UP5nB2hLkMo5EJMyyLX2r9Vt6of2FyDbWdy67c1JXiumy\nBk4zBMlmFKYKlJN5PGqbASA+JxnjRJMZTs6/dEPCTCKARsJ8AZ9OdJ/QsDUs0zQ1bA3r5PmTkwLQ\nRLMGdsiWv9evE90n0p5ZmG67b3+vP7LdNwAgPZxkjDNRbkHGGjOJCAIZEc4aTCzxCO9WZdmWWv2t\nCgQDeq/vvSl3qpq462CyGYXwdt/v9b2nQDCgVn+rLNsiQwEAaTTVuR8oNATQSJjH7dGahWtU5iqT\nbdsqc5Vp9YLVjgLQcIZgadVSuSvdurn+ZrlM15RbX0+3bWu8scba7ttlunRz/c1yV7q1tGopK7QB\nIAvSlRyJFi4LOdR+SIfaD6V1C3FgIiIHJCy8oK7R3Zj0IsLw46xZuEYdwY6Eyiji1cBFL0RpWNSg\n413HJUk7PTsj/w5v9y1d7VVaX12vNQvXRBYWMuUHADMnE+UWE8tCLgxe0DNvPKM1C9dwbkfacTTB\nEZfp0m1LbtNtSyZvJDKVWAFquhZ7RC9EsUO2nnjtCa1asEqmYY5blDJxu+/w89E3FACyI5MLtO2Q\nraOBo+rs61RHsEOv+19XY11j5PrDOR6p4ghCRk0XoKYj+xCdcQj0BXRx8KLOBc+pvro+oR6k3g4v\nfUMBoABEJ2b8vVe3Eq+vrpckvdD+gk50n1B9dT2JEqQFRw8yarqV1jPdHo52dACQfxIts4tOlJzo\nPqH3+t6TaZjy9/o1NDYkwzBkGiaJEqQFiwiR16IXoiyqXKTr5lyn2srahBelZGIhCwAgPZwuDAwn\nSu5Zf4/mz5kfObeXl5TLXeWewZGj0JGBRkZlurH9xNKMvRv2RhYOJlIWQt9QAMhdyfaLjj63WyFL\nbf42XR65TKIEaUOkgIyaiQB1YmmGx+2RL+CTL+BLOIhmKg8ACkv0ub25vjnudciyLXn93pS6TKF4\ncGQg42YyQKWrBgAUjnTNYibSDvVbrd/SC+0vaGhsSOUl5bpz2Z16oPkBrh+IiRpoFJTo6b7oxSIA\ngPx0U91NWly5WHfccEfGEiLhhYfD1rBM09SwNayT509y/cCU+FoFAAByzsQZxUFrcMZmM0OhkM4P\nnNeJ7hOsjUFMZKBRUOiqAQCFYSZnFD1uj9YsXKMyV5muXLmi8wPnNXplVO/1vceW4IiJr1QoKHTV\nAAA45TJd+tzNn1Oju1H/+dZ/qmugS0vmLaFvNKZEZIG84aSZPic6AMhvThYQJnp9mI7LdOm2JbfJ\nZbh0qP1QpHUeEAsBNPIC3TUAoLgkOqOY6PUh0SA70/sXoDAQfSAvJNtMHwCQvxKZUUzk+uAkCUMp\nIBLBEYGMS8fUGgAAyXKahEkkcI++tjUsanC0Cy7yH39hZFS6Si+YUgMAxJKN60P0tc0O2XritSe0\nasEqmYZJiWGR4K+LtImVaU5X6QVTagCAWBK5PqQ7yI6+tnX2deri4EV1Bbu0uHoxJYZFgggEKQkH\nzZZt6WjnUV0aviTpg0yzZVvy9/plGIbcVW7Hjyt9cDKkuwYAIJZ41weSMEg3jh4kLXoKy9/rVyAY\n0M31N0f6Znr9Xh3tPKpAMKChsSH5+/y6c9mdcb/103EDAJBu6UzCRGe0aytr9f7Q+1pUuYgNvIoI\nEQmSFj2FZRiGhsaG1NnXqfrqeknS6fOndWn4km6uv1mdfZ2yQ7aa6pviBsJTlX143B6yBwCArJuY\n0d67YS+LCIsMf2GkhbvKLX+ff9wW2ivnr1RHsEOmYaq+ul52yJbLSO6QIysNAEhFujtCTcxoU2JY\nXIg+kLSJizLuXHbn1Qyz4YpMXx3rOuZ40UasxR4yRB9oAEBSSMIg3ThykLREFmXsatolr9+r0+dP\na+X8lUk/bvjfAAA4xWZcSDcCaKQkkUUZxzqvZqE7gh061nUsoW/9Ex+XPtAAACBXEEAjo+gDDQDI\ntnQmYdhdFxIBNLLI6UmIPtAAgGSkKwlDLTXC+Isjo6b61s9JCAAwk9KRhKGWGmFEK3AkmaxxrG/9\n3g4vJyEAQMGj5KMw8VdEwpLNGlN6AQAoBE5rqZltLVxmtgeA/BE9dRXerjvZ9nIet0c15TXjNl6h\nqwYAIJeFZ1U3L9+szcs3xw2G03ndRG7hKxCygq4aAIB8xKwqJAJoOOBxe3Sk44hOnj8pSVq9YHXc\nrHGs2i/qwQAAxYA9DAoXkQscMQwj5r9jiVX7tdOzUwd8B6gHAwAUPGZbCxc10EiYL+DTpeFLWjJv\niZbMW6JLw5emreWKVfvVcryFejAAQNEIl3w0L24meC4gBNAAAACAAwTQSJjTzhmxfn97w3a6bwAA\ngLzGXAISlkgt18QFgrF+n3owAACQz4hc4Mh07Xumahg/8fdpAQQAAPIZJRyQZVvydnjl7fDKsq2k\nf4eG8QAAoBiQgS5yiWwzylakAAAkLt5+B+yHkP/IQBe5RLLGiWaW2Z4bAFDswkmnQ+2HdKj9kPa3\n7R83cxvv58gPfOVB2rBAEABQ7KKTTpIiSafw2p94P0d+IANd5KKzxpZtKTgSlBWyxn0bdpJZntgw\nPpHaaQAAMB7Xz9xGerDIhbPG3g6vfnTqR6qYXaGXzr6kY53HInXOyWaWqZ0GABQbj9uj1kBr5No3\nMekU7+cS1898wF+iCMVavOAyXaosq5xySilW67l4iyCYpgIAFJt4Sad4P7dsS8+88YzePPem6qvr\nx6094vqZOwigi8xU32rT9Th8OwYAFLt4+x1M9fPwtfXNc2+q/f12dfZ3qsndlMmhIknUQBeZqTpq\nxKtznliLlUhnDrpyAACQuPC1tb66XnNK52hwdFD+Xj/XzxxEurBI2SFbgb6AQqGQLNuSy3Rpp2en\nWo63SJK2N2yPZJNjZZtvWnRT3OegKwcAAFc56f1sGqaa3E3y9/p1S/0tumf9PVw/cwwZ6CLjcXs0\nb/Y8tfpb9XbP2woEAzraeVTD1rAO+A6oI9ihjmCHDvgORFb9xso2y1BC2eWJXTkAACg2ifZ+jp65\nlaR1tesInnMUf5Ei4zJdaqpv0snzJ2Uapuqq6nRp+JJajrc4WvDnMsguAwCQiKkW1XvcnknXUa6t\n+YG/ShFyGa7Iyl5JkW+6U5mq5U68RRIAACC26Rbjc23NfZRwFKFYi/u2N2yfsiQj/I148/LN2rx8\nM902AABwINZ1V4biLsZH7iIKKkJTTRHF61vJN2IAAJyLdY0lWM5vBNBFKlZATJAMAEBmTLzGRpdH\n2iFbA6MDskJWpDMWchslHAAAADMsnJW+44Y7NDAyoIrSCr109qUpO3QgtxBAAwAAZIHLdMllulRZ\nVimX6aIWOo8wR1CknDR0BwAAqZvu2muHbHX2dcoO2bJCZKBzHVFTEZqudQ4AAEi/qa69HrdHr/tf\n1wvtL2hobEjlJeVq87epuZ4NyHIZJRxFKNbOgkwXAQCQOVNde12mS411jXJXurWiZoVurr9Zl0cu\nyxfwadga1nd839F3fN/RsDWc7ZeAKHy1AQAAyCKXOXmDs2FrWNv+bZsuDl6UJP20/af6/ie+rzJX\nWTaHiv9GBroIxWroHt40BQAApN90195YP3ur5y1dHLwo0zRlmqYuDl5Uy/GWLL8KhJGBLkLxNk0B\nAADpNd21N9bPnnnjmayNFfERNeWxVDppsGkKAAAza7pr78SfbW/Yrp+2/zRSwnHdnOu0vWH7jIwT\n8RFA5yk6aQAAULjKXGX6/ie+Hynb2N6wnfrnHEK0laeiV/NKiqzmneqbLX2fAQDIL2WuMn3G85ls\nDwMxEEUVAbLVAAAA6UMXjjzlpJMGfZ8BAADShxRknqKTBgAAQHYQceWxRDtpeNwetQZaIyUc9H0G\nAABIHgF0ESBbDQAAkD5EUUWCvs8AAADpwSJCAAAAwAECaAAAAMABAmgAAADAAQJoAAAAwAECaAAA\nAH3SWNoAABaySURBVMABAmgAAADAAdrY5THLtujtDAAAMMOIuPKUZVva37Y/srtga6BVu5p2EUQD\nAABkGCUcecoX8KlnqEemYco0TPUM9USy0QAAAMgc0pUFhrIOAACAzCK6ylMet0etgdZICUdNeY0a\nFjVQ1gEAAJBhRFZ5ymW6tKtp17hsc3RZh6RIWUfz4uZsDhUAAKCgEEDnMZfpIjgGAACYYSktInzz\nzTe1fft2SdJ7772nrVu36u6779ajjz6qUCgkSXruued011136ZOf/KR+/vOfpzxgTM3j9qimvEZ2\nyJYdslVTXiOP25PtYQEAABSUpDPQ3/nOd/Tv//7vqqiokCQ9/vjj2r17txobG7Vv3z4dPnxY69at\nU0tLiw4ePKiRkRFt3bpVt956q0pLS9P2AvCBWGUd1D8DAACkV9IZ6KVLl+rv/u7vIpnmU6dOqbGx\nUZK0YcMGHTlyRCdOnND69etVUlKiuXPnaunSpTpz5kx6Ro6YwmUdzYubCZ4BAAAyIOkA+o477tCs\nWbMi/x8OpCWpoqJCwWBQ/f39qqysHHd7f39/sk8JAAAAZF3aUpSm+UEs3t/fr6qqKs2dO1cDAwOR\n2wcGBlRVVZWupyxo9HMGAADITWnbiXDlypVqa2uTJL366qvyeDxau3atfD6fRkdHFQwGdfbsWa1Y\nsSJdT1mwwtt0H2o/pEPth7S/bb8s28r2sAAAAKA0ZKANw5Ak7dmzR4888ojGxsa0bNkybdq0SYZh\naMeOHdq2bZts29bu3btZQJgA+jkDAADkrpQC6Pr6ev3rv/6rJOn6669XS0vLpN/ZsmWLtmzZksrT\nAAAAADkjbSUcSB/6OQMAAOQuVqblIPo5AwAA5C6ishzFNt0AAAC5iRIOAAAAwAECaAAAAMABSjiy\niM1SAAAA8g8RW5aEN0vpGeqRJLUGWrWraRdBNAAAQI6jhCNLojdLMQ0zslkKAAAAchsBNAAAAOAA\nAXSWsFkKAABAfqLgNkvYLAUAACA/EbFlEZulAAAA5B8CaAAAgDxCG9zs4x0HAADIE7TBzQ0sIswj\nlm3J2+GVt8Mry7ayPRwAADDDaIObG/i6kif4xgkAAJAbyEDnCb5xAgAA2uDmBtKXAAAAeWJiG9yG\nRQ0sKMwC3uU84XF71BpojZRw8I0TAIDiFG6DS3ln9vAO5wk2XgEAANGiyzslRco72WMi84jA8ggb\nrwAAAGQfiwgBAADyEAsKs4cMNAAAQB6ivDN7eJcBAADyFOWd2UEJBwAAAOAAATQAAADgAAE0AAAA\n4AA10AXAsi0WEAAAAMwQIq08xy5EAAAAM4sSjjwXvQuRaZiRXYgAAACQGQTQAAAAgAME0HmOXYgA\nAABmFoWyeY5diP7/9u4+Rq+yzhv4d95ooUOlj8I+3VJqUJdAyku6Azah6JqIVtJoFIa2lIJIsBBg\nMbxWibxEsBiiidgmohtWIBq0ovyzGixRQpimU2ufAbuwyMuuHUqBlqVPZqYtnZn7PH+wnaetbekZ\n5qVn5vP5q/e5Z+a+5lw5Pd+5zu+6LgCAkSVpVdS+K2/YhQgAYGQI0BVk5Q0AgNGjBrqCrLwBADB6\nDFmOEX1FX9Z0rkmiDhoAYDhJWRXUMq0l7ZvaB0o4pkyckrWvrs22d7YlUdIBADCcJKwK2nfljb5a\nX373yu9SX/duRc7ukg4TCwEAhp4AXVGN9Y0DAXl36QYAAMPPJMIxwGYqAAAjxwj0GGAzFQAYf/bd\nE8K9f+Q402PEniUdAMDYZk+I0aWEAwCgYuwJMboEaAAAKEGABgCoGAsIjC6FMgAAFWMBgdHlTAMA\nVJAFBEaPEg4AAChBgAYAgBIEaAAAKEGABgCAEgRoAAAoQYAGAIASBGgAAChBgAYAgBIEaAAAKEGA\nBgCAEmzlPQb01fqybtO6JEnLtJY01utWAIDhImlVXF+tLyvWrshbO95KkrRvas/VZ10tRAMADBMl\nHBW3btO6vLXjrdTX1ae+rj5v7XhrYDQaAIChJ0ADAEAJAnTFtUxryQeP/GBqRS21opYPHvnBtExr\nGe1mAQCMWQplK66xvjFXn3W1SYQAACNE0hoDGusbM3v67NFuBgDAuKCEAwAAShCgAQCgBAEaAABK\nEKABAKAEkwgrYrDbddvmGwBgaElTFTDY7bpt8w0AY0/ZwTGDaUPPGayAPbfrTjKwXfd7LV032O8D\nAA5PZQfHDKYNDzXQAAAVsefgWH1d/cDg2FB9PYdGgK6AwW7XbZtvABhf+mp9WdO5Jms616Sv1jfa\nzRmzjN9XwGC367bNNwCMLS3TWtK+qX2gJGPPwbH9lWssaVlywK9n8KSpihjsdt22+QaAseNgg2P7\nm/vUsbnDYNowcAYrxCxaABi/BpsDDKYNPQmsIsyiBYDx61BywMHKOxha0ldFWJIOAMavQ8kB5j6N\nHGcVAGCMUK4xMixjVxGWpAOA8UsOOLwYga6Qf5z6j3l+y/M5+biTM/v42R7LAMA4sb/yjCR5+q9P\nywajwFmugH0nDmzv257Zx3s8AwDjyZ7lGX21vty35r48/vLj2dG7I0c2HZm5H52baz9+rRA9ApRw\nVIBtOAGAPa3btC4dr3fk5bdfzn++/Z95vev1PPP6M/LBCPEnCgBAxezs25kn/+vJvNH9RooU2bpj\na46oPyJ9he27R4IR6AowcQAA2NN/vPUf6av1pa6+LnV1danVaunu7U6K0W7Z+GAEugKs6wgA7Kkh\nDTl20rGpFbX01nrTWNeYE6ecKB+MEGe5IqzrCADstviMxfm3l/4tXe90pa/Wl6Oajso/ffifPKEe\nIQJ0RfTV+oxAA8A4tm8WeOSCR/LA/3kgazauycenfTyXt1wuH4wQZ7kCdi9Vs+HNDUmS1Z2r88+z\n/9lFAgDjxL5L2rZvas+SliXp7e/Nh//Xh/PGjjdy/7r7c/VZV/9NPjAIN/ScwQpY07kmj7/8eHb2\n7UySbOralLOmnZU5M+aMcssAgJGw55K2SfLWjrfycMfDf3Ns3aZ1e5V87i947y9kU45VOCrg+S3P\nZ0fvjtTVvTvTdkfvjjy/5fnRbhYAcJizl8TwEKAr4OTjTs6RTUemKIoURZEjm47MP3zoH7Kmc03W\ndK5JX82ajwAwlrVMa8mUiVOycdvGbNy2MVMmTsniMxZb5naUGL+vgNnHz87cj87Nn9/4c5LklONO\nyZ9e+1O2vbMticcxADAeFEWx178PZZnblmktad/UPlDCIWQPDYnrMHKgIv/G+sZc+/FrB97rq/Xl\nd6/87qA1TwDA2LFu07pse2dbTjjmhNSKWja8uSH/8qd/yczjZqaxvvGAkwPtJTE8hv0M1mq13HHH\nHfnLX/6Spqam3H333TnhhBOG+2Mr572K/PdcB3pN55pRaycAMHpqRS1rN61Nz66e/Pub/55jjjwm\nZ04786BPo+0lMfSGvQb6iSeeSG9vbx555JHceOONueeee4b7IyupTJG/rb0BYHzZfe9/9f++mu27\ntqe31psJTROys29nNndtPuTJgTv7dubH636cH6/78cDqXpQ37CPQ69evzznnnJMkOf3007Nhw4bh\n/sgxz+MYABhfdt/7/3X9v757oC55+b9fLvUzdvbtzEW/vChbt29Nkvz2pd/mZxf8LBMbJw51c8e8\nYR+B7u7uTnNz88DrhoaG1Gq14f7Yyik7qrz7cczs6bOFZwAYBxrrG3PZrMty+v8+PX9/9N9nYuPE\nTGycmKlHTz2kp9EPdzycrdu3pr6+PvX19dm6fWse7nh4hFo/tgx78mpubk5PT8/A61qtlvp6q+ft\nazCjynYWAoDxZc+8MPejc5MiB51EyPAY9jM9a9as/OEPf8jnPve5dHR05KSTThruj6ysMkX+dhYC\ngPFpsJMCF5+xOL996bcDJRwfOupDWXzG4qFu3rgw7Gnr3HPPTVtbWxYsWJAkWbZs2XB/5Liwvy09\n97d9pxFqAKi+obinT2ycmJ9d8LOBso3FZyxW/zxIw56o6urqcueddw73x4x5+144h/L1RqgBoPqG\n8p4+sXFirmi5YqibOO4oRq6A3RfOb176TX7z0m+yYu2KnDH1jINOOiyzLB4AcPhyTz/8GI6sgP2V\na3Rs7rCUHQDAKDACXWEHW8rOZisAMDa4px9+DFlWQMu0lrRvah+ofdr3wtnfxAKbrQDA2OCefvhx\n9ivgYBfOwSYWDHaZGwDg8OKefngRoCviQBfOoSxnBwDA0BGgK2p32caf3/hzakVtIEADAOOT/R9G\njjNbQXuWbdSKWp5787mcctwpqa+rN7EAAMYh+z+MLGe1gvZdD/KU407JjMkzcurfneovTgAYh5R0\njixJawyor6vPqX93qosEAMY4ZRqHB4WzFWQ9SAAYf/a3M3FfrS+JbDDS/NlSQdaDBIDx52BlGrLB\nyHJmK8p6kADAnmSDkaOEAwCgApRpHD6MQAMAVIAyjcOHsw4AUBHKNA4PSjgAAKAEARoAAEoQoAEA\noAQBGgAAShCgAQCgBAEaAABKEKABAKAEARoAAEoQoAEAoAQBGgAAShCgAQCgBAEaAABKEKABAKAE\nARoAAEoQoAEAoAQBGgAAShCgAQCgBAEaAABKEKABAKAEARoAAEoQoAEAoAQBGgAAShCgAQCgBAEa\nAABKEKABAKAEARoAAEoQoAEAoAQBGgAAShCgAQCgBAEaAABKEKABAKAEARoAAEoQoAEAoAQBGgAA\nShCgAQCgBAEaAABKEKABAKAEARoAAEoQoAEAoAQBGgAAShCgAQCgBAEaAABKEKABAKAEARoAAEoQ\noAEAoAQBGgAAShCgAQCgBAEaAABKEKABAKAEARoAAEoQoAEAoAQBGgAAShCgAQCgBAEaAABKEKAB\nAKAEARoAAEoQoAEAoAQBGgAAShCgAQCgBAEaAABKEKABAKAEARoAAEoQoAEAoAQBGgAAShCgAQCg\nBAEaAABKEKABAKAEARoAAEoQoAEAoAQBGgAAShCgAQCgBAEaAABKEKABAKAEARoAAEoQoAEAoAQB\nGgAAShCgAQCgBAEaAABKGHSAXrVqVW644YaB1x0dHbnwwguzcOHCLF++fOD48uXL09ramgULFuTZ\nZ599f60FAIBR1jiYb7rrrrvS1taWU045ZeDYHXfckR/84AeZPn16vvrVr+b5559PrVbLH//4x6xc\nuTKbN2/Otddem1/+8pdD1ngAABhpgxqBnjVrVu64444URZEk6e7uzq5duzJ9+vQkyZw5c7J69eqs\nX78+Z599dpJk6tSp6e/vz9tvvz1ETQcAgJF30BHolStX5qGHHtrr2LJly3Leeeelvb194Fh3d3ea\nm5sHXk+aNCmdnZ2ZMGFCjjnmmL2Od3d3Z8qUKfv9vP7+/iTJ66+/Xv43AQCAQ7A7a+7OnmUdNEC3\ntramtbX1PX9Ic3Nzenp6Bl53d3dn8uTJaWpq2ut4T09Pjj766AP+nC1btiRJFi1a9J6fCQAA78eW\nLVsyY8aM0t83qBrofTU3N6epqSmdnZ05/vjj09bWlmuuuSYNDQ259957c/nll2fz5s2p1Wp7jUjv\na+bMmfnpT3+aY489Ng0NDUPRNAAA2Et/f3+2bNmSmTNnDur7Bx2g6+rqUldXN/D6zjvvzI033pj+\n/v7MmTMnp512WpKkpaUl8+fPT61Wy+23337Qnzlx4sS0tLQMtkkAAHBIBjPyvFtdsXsmIAAA8J5s\npAIAACUI0AAAUIIADQAAJQjQAABQwqgF6O3bt+eqq67KxRdfnMsuuyxvvPFGkqSjoyMXXnhhFi5c\nmOXLlw98/fLly9Pa2poFCxbk2WefHa1m8z+6urpy5ZVXZvHixVmwYEE6OjqS6L8qWbVqVW644YaB\n1/quemq1Wm677bYsWLAgixcvzsaNG0e7SRzEM888k8WLFydJ/vrXv2bhwoVZtGjRXjv7/uIXv8j5\n55+f+fPn58knnxzF1rJbb29vbrrppixatCitra35/e9/r/8qpL+/P1//+tezcOHCXHTRRXnxxReH\npv+KUfKTn/ykWLFiRVEURfGrX/2quOuuu4qiKIrPf/7zxcaNG4uiKIorrriieO6554oNGzYUl1xy\nSVEURfHaa68V559//ug0mgH33Xdf8eCDDxZFURSvvPJK8cUvfrEoCv1XFd/61reKuXPnFtdff/3A\nsS984Qv6rmIef/zxYunSpUVRFEVHR0dx1VVXjXKLOJAf/ehHxbx584r58+cXRVEUS5YsKdauXVsU\nRVHcdtttxapVq4o333yzmDdvXrFr166iq6urmDdvXvHOO++MZrMpiuLRRx8tvv3tbxdFURTbtm0r\nPvnJTxZXXnml/quIVatWFd/4xjeKoiiK9vb24sorrxyS/huSjVQG49JLL02tVkuSbNq0KR/4wAfS\n3d2d3t7eTJ8+PUkyZ86crF69OkcccUTOPvvsJMnUqVPT39+ft99++4BbgjP8vvzlL+eII45IkvT1\n9WXChAn6r0JmzZqVc889Nz//+c+TvLt76K5du/Rdxaxfvz7nnHNOkuT000/Phg0bRrlFHMiMGTOy\nfPny3HzzzUmS5557LmeeeWaS5BOf+ETa2tpSX1+fWbNmpampKU1NTZkxY0ZeeOGFnHrqqaPZ9HFv\n7ty5+exnP5vk3ac+jY2N+q9CPv3pT+dTn/pUkv+fN1evXv2++29EAvTKlSvz0EMP7XVs2bJlmTlz\nZi699NK8+OKLeeCBB9Ld3Z3m5uaBr5k0aVI6OzszYcKEvXYwnDRpUrq7u93ER8jB+m/Lli25+eab\nc+utt+q/w9CB+u68885Le3v7wDF9V0379ltDQ0NqtVrq601vOdx85jOfyauvvjrwuthjC4ZJkyal\nq6sr3d3dOfroo/c63t3dPaLt5G8dddRRSd693q677rp87Wtfy3e+852B9/Xf4a+hoSFLly7NE088\nke9///tpa2sbeG+w/TciAbq1tTWtra37fe/BBx/MK6+8kiVLluTXv/51enp6Bt7r7u7O5MmT09TU\ntNfxnp6evX5JhteB+u+FF17IDTfckFtuuSUtLS3p7u7Wf4eZg117e2pubtZ3FbRvvwnP1bFnP+2+\n3vbtz56enkyePHk0msc+Nm/enGuuuSaLFi3KvHnzcu+99w68p/+q4Z577snWrVvT2tqaXbt2DRwf\nbP+N2v+0999/fx577LEk7/5119DQkObm5jQ1NaWzszNFUaStrS0tLS2ZNWtWnn766RRFkddeey21\nWm2vUTFG3ksvvZTrrrsu3/3udwceIeu/6tJ31TRr1qw89dRTSd6dBHrSSSeNcos4VCeffHLWrl2b\nJHnqqafS0tKS0047LevWrcuuXbvS1dWVl19+OR/72MdGuaVs3bo1X/nKV3LTTTflS1/6UhL9VyWP\nPfZY7r///iTJxIkTU19fn5kzZ77v/hu1GugLLrggt9xySx599NHUarUsW7YsSXLnnXfmxhtvTH9/\nf+bMmZPTTjstSdLS0pL58+enVqvl9ttvH61m8z++973vpbe3N3fddVeSZPLkyVmxYoX+q5C6urrU\n1dUNvNZ31XPuueemra0tCxYsSJKB/0c5fO2+5pYuXZpvfvOb6e3tzUc+8pHMnTs3dXV1ueSSS3LR\nRRelVqvl+uuvH5hrwuj54Q9/mK6urqxYsSIrVqxIktx66625++679V8FzJ07N0uXLs3FF1+cvr6+\n3HrrrTnxxBPf9/VXV+xZiAUAAByUYjkAAChBgAYAgBIEaAAAKEGABgCAEgRoAAAoQYAGAIASBGgA\nACjh/wGYZ+X6eFkMFwAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.set_style(\"white\")\n",
"sns.set_color_codes()\n",
"\n",
"#shottrue = shot_df1[shot_df.SHOT_MADE_FLAG == 1]\n",
"#shotfalse = shot_df1[shot_df.SHOT_MADE_FLAG == 0]\n",
"\n",
"plt.figure(figsize=(12,11))\n",
"\n",
"plt.scatter(three_pointer.LOC_X, three_pointer.LOC_Y, color='green',label='3 point shots',s=20,marker='o',alpha=0.5)\n",
"\n",
"\n",
"#plt.scatter(shottrue.LOC_X, shottrue.LOC_Y)\n",
"#plt.scatter(shotfalse.LOC_X, shotfalse.LOC_Y)\n",
"\n",
"plt.legend()\n",
"\n",
"plt.xlim(-300,300)\n",
"plt.ylim(-100,500)\n",
"#plt.grid()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can also plot all the 3 point shots by converted and missed, as follows,"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nQva5fyKABgAAABwggAYAAAAcIIAGAAAAHCCABgAAABwggAYAAAOHz2ffIqCxsVErV67UggULtHDh\nQn388cdhPV9ubq4aGho6vP+NN97QyZNdLz9eWFio3NzcoF93y5YtMk0z6Md35p577onI8/hbt26d\ndu3aFfHnDQcBNAAAGBjeektav156+GHplVfCfro333xThmHoueee0/Lly/XEE0+E9XwbNmxQbGxs\nh/f/7ne/U1VVVZfP43QRkc2bN7db4TBU//mf/xmR5/HX3YuihIKVCAEAQP9XVCS9/rrkvhD67Ngh\npaVJmZkhP+UXvvAF3XDDDZKkkpISJSUltXvMV7/6VV166aUqLS3V5MmT9fDDD6uyslL33Xefqqur\nZZqmli9fruzsbN1444169dVX9eCDD2rQoEEqKSnRqVOn9Nhjj+nkyZP68MMPtWLFCj377LPNgfaR\nI0e0cuVKxcbGyrIs/fznP5fP59PRo0d15513qqKiQjfeeKOWLVum/fv3a/369YqJidGgQYO0fv16\n/f3vf1d5eblyc3O1bt06LV++XD6fT/X19XrooYc0efLk5veydetWvfnmm6qrq9OpU6e0aNEi5efn\n6+OPP9b999+vuXPn6nOf+5x27NihZ599Vi+99JIMw9CUKVO0evVqvf766/r1r38tt9utiy++WE88\n8YSqqqr0wAMP6MyZM5Kk1atXa9KkSXruuef0/PPPa+TIkaqpqdFNN90U8ufUHQigAQBA/1daKsXE\ntPzf7ZaCKIfoSkxMjFasWKE33nhDGzdubHd/SUmJnn76aaWkpOjee+/V9u3b9e6772rWrFnKycnR\niRMntHDhQuXn5zf/jsvlUlpamtatW6c//elP2rJlS3Mwu27dulZZ6p07d2r69On6wQ9+IK/Xq8rK\nSklSfX29nnzySTU2NmrOnDlatmyZVq9erR//+MeaPHmy8vPz9eijj2rjxo166qmntGHDBu3cuVMj\nRozQ448/rkOHDun8+fPt3s/58+f19NNPa9u2bXrmmWf0/PPPq7CwUL/73e80d+7c5mzxn//8Z/3o\nRz/SlClTmpcG/+tf/6o77rhD//RP/6QXX3xRVVVV+uUvf9m8lPfRo0e1atUq/dd//Zd++9vf6uWX\nX1ZMTIxycnKiLgtNCQcAAOj/Jk2SDL+wx+ezt0XAY489ptdee01r1qxRbW1tq/suv/xypaSkSJJm\nzJihI0eO6JNPPpHH45EkjRo1SgkJCaqoqGj1exkZGc3319fXd/ja8+fPV0JCgu644w49++yziomJ\nkcvl0sSJExUbG6u4uDi5L2TdT5061ZxR9ng8OnToUKvn+vznP68ZM2bo7rvv1saNG2UYrcNEl8vV\n3K6EhASlp6dLkhITE1VXV9fqsY8++qieffZZ5eTkqLS0VD6fTytXrtTbb7+tnJwcvffee3K5XPro\no4/0wgsvKCcnR2vWrNG5c+d07NgxpaenKzY2VoZhaMaMGfJFqG49UgigAQBA/zdihJSTI40fb5du\nfOMb0rhxYT3liy++qM2bN0uS4uLi5HK52gWdR48ebc4Kv/fee5o0aZImTJggr9crSTpx4oQqKys1\nfPjwLl/PMIx2tcrbt2+Xx+PRM888o5tuukm/+tWvJAWuG7744ot18OBBSdLu3bt12WWXtXrewsJC\npaSk6Omnn9Zdd92lDRs2tHuOYDPBzz//vB566CHl5eVp//79eu+997Rlyxbdc889ysvLk8/n0/bt\n25Wenq7bb79deXl5+tnPfqavfe1rGj9+vA4dOqTa2lr5fD598MEHUZeBpoQDAAAMDBMm2LcImTdv\nnlasWKFvfetbMk1TDzzwgAYNGtTqMYMHD9b999+viooKXXPNNZozZ46uvvpqrVq1Sq+99ppqa2u1\nbt265sxxk6af/bddffXVuv/++/Wb3/xGiYmJkqTMzEz98Ic/1FNPPSXLsrRq1SpVVlYGDDjXr1+v\nhx9+WD6fT263W4888ogkOxv9/e9/Xxs3blRubm5zycWyZcvaPUegdgX6/6RJk7Rw4ULFx8dr9OjR\nmjZtmqqqqrR48WLFx8crPj5eN9xwg+bMmaMHHnhAW7ZsUXV1te655x6NHDlSS5Ys0cKFC5WUlNSc\nQY8mLl8U5cSLi4s1d+5c5efnKy0trbebAwAAEJavfOUrevnll3u7GWgj3JiTEg4AAADAAQJoAACA\nbkL2uX8igAYAAAAcIIAGAAAAHCCABgAAABwggAYAAAAcIIAGAAAAHCCABgAAABwggAYAAAAcIIAG\nAAAAHCCABgAAABwggAYAAAAcIIAGAAAAHCCABgAAABwggAYAAAAcIIAGAAAAHCCABgAAABwggAYA\nAAAcIIAGAAAAHCCABgAAABwggAYAAAAcIIAGAAAAHCCABgAAABwggAYAAAAcIIAGAAAAHCCABgAA\n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\nAACHOXDgQJ5++uksWbLkpP79SQforq6udHV1jV2/6aabct111+XAgQO56KKLct555yVJGo1GVq5c\nmVarlRtuuOGYP3POnDlpNBone0oAAHBCTmbmeVRXMboSEAAAOC4bqQAAQAkCNAAAlCBAAwBACQI0\nAACU0LEA/dxzz+X9739/3vnOd+bd7353fvzjHydJtm3blne84x1ZvXp1NmzYMHb/DRs2ZMWKFVm1\nalUefPDBTp02z9u9e3euvvrqrF27NqtWrcq2bduSGL8qufvuu3PttdeOXTd21dNqtfLxj388q1at\nytq1a/PEE090+pQ4hgceeCBr165Nkjz++ONZvXp11qxZc9jOvl/+8pdz+eWXZ+XKlbnnnns6eLaM\n2r9/fz784Q9nzZo1WbFiRf7hH/7B+FXIgQMH8vu///tZvXp1rrjiivzgBz+YmPErOuSv/uqviv7+\n/qIoiuIrX/lKcfPNNxdFURRve9vbiieeeKIoiqJ473vfWzz88MPFQw89VFx55ZVFURTFU089VVx+\n+eWdOWnGfPrTny6+8IUvFEVRFI899ljxm7/5m0VRGL+q+MM//MNi+fLlxTXXXDN27O1vf7uxq5hv\nfvObxfr164uiKIpt27YV73//+zt8RhzNX/7lXxaXXXZZsXLlyqIoiuKqq64qtm7dWhRFUXz84x8v\n7r777uInP/lJcdlllxX79u0rdu/eXVx22WXFz372s06eNkVR3HHHHcUf/dEfFUVRFM8++2zxq7/6\nq8XVV19t/Cri7rvvLv7gD/6gKIqiGBgYKK6++uoJGb8J2UjlZLzrXe9Kq9VKkuzYsSMveclLMjw8\nnP379+fMM89Mklx00UXZvHlzTjnllLzhDW9Ikpxxxhk5cOBAnnnmmaNuCc7k+53f+Z2ccsopSZJm\ns5lTTz3V+FXI0qVLc/HFF+dv/uZvkrR3D923b5+xq5j7778/b3zjG5Mk559/fh566KEOnxFHs2jR\nomzYsCEf+chHkiQPP/xwLrjggiTJm970pmzatCm1Wi1Lly5NT09Penp6smjRojz66KN5zWte08lT\nn/WWL1+et7zlLUna3/rU63XjVyG/9mu/lje/+c1JDubNzZs3v+jxm5IAffvtt+eLX/ziYcduueWW\nLFmyJO9617vygx/8IJ/73OcyPDyc3t7esfvMmzcv27dvz6mnnnrYDobz5s3L8PCwN/Epcqzxe/rp\np/ORj3wk119/vfGbho42dpdeemkGBgbGjhm7ajpy3Lq7u9NqtVKrWd4y3VxyySV58sknx64XrPOP\neQAAAsdJREFUh2zBMG/evOzevTvDw8M5/fTTDzs+PDw8pefJC5122mlJ2q+3D33oQ/m93/u9/PEf\n//HY7cZv+uvu7s769evzrW99K3/2Z3+WTZs2jd12suM3JQF6xYoVWbFixbi3feELX8hjjz2Wq666\nKn/3d3+XkZGRsduGh4czf/789PT0HHZ8ZGTksP8kk+to4/foo4/m2muvzUc/+tE0Go0MDw8bv2nm\nWK+9Q/X29hq7Cjpy3ITn6jh0nEZfb0eO58jISObPn9+J0+MIO3fuzAc+8IGsWbMml112WT71qU+N\n3Wb8quGTn/xkdu3alRUrVmTfvn1jx092/Dr2m/bWW2/NV7/61STtT3fd3d3p7e1NT09Ptm/fnqIo\nsmnTpjQajSxdujTf+c53UhRFnnrqqbRarcNmxZh6P/zhD/OhD30of/InfzL2FbLxqy5jV01Lly7N\nvffem6S9CPTVr351h8+IE7V48eJs3bo1SXLvvfem0WjkvPPOy+DgYPbt25fdu3fnRz/6Uc4555wO\nnym7du3K7/7u7+bDH/5wfuu3fiuJ8auSr371q7n11luTJHPmzEmtVsuSJUte9Ph1rAb6t3/7t/PR\nj340d9xxR1qtVm655ZYkyU033ZTrrrsuBw4cyEUXXZTzzjsvSdJoNLJy5cq0Wq3ccMMNnTptnven\nf/qn2b9/f26++eYkyfz589Pf32/8KqSrqytdXV1j141d9Vx88cXZtGlTVq1alSRjv0eZvkZfc+vX\nr8/HPvax7N+/P2effXaWL1+erq6uXHnllbniiivSarVyzTXXjK01oXP+4i/+Irt3705/f3/6+/uT\nJNdff30+8YlPGL8KWL58edavX593vvOdaTabuf766/OqV73qRb/+uopDC7EAAIBjUiwHAAAlCNAA\nAFCCAA0AACUI0AAAUIIADQAAJQjQAABQggANAAAl/H9Dnnk2Wd4ymQAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.set_style(\"white\")\n",
"sns.set_color_codes()\n",
"\n",
"#shottrue = shot_df1[shot_df.SHOT_MADE_FLAG == 1]\n",
"#shotfalse = shot_df1[shot_df.SHOT_MADE_FLAG == 0]\n",
"\n",
"plt.figure(figsize=(12,11))\n",
"\n",
"plt.scatter(three_pointer.LOC_X[three_pointer.SHOT_MADE_FLAG == 1], three_pointer.LOC_Y[three_pointer.SHOT_MADE_FLAG == 1], color='green',label='3 point shots converted',s=20,marker='o',alpha=0.5)\n",
"plt.scatter(three_pointer.LOC_X[three_pointer.SHOT_MADE_FLAG == 0], three_pointer.LOC_Y[three_pointer.SHOT_MADE_FLAG == 0], color='red',label='3 point shots missed',s=20,marker='o',alpha=0.5)\n",
"\n",
"\n",
"#plt.scatter(shottrue.LOC_X, shottrue.LOC_Y)\n",
"#plt.scatter(shotfalse.LOC_X, shotfalse.LOC_Y)\n",
"\n",
"plt.legend()\n",
"\n",
"plt.xlim(-300,300)\n",
"plt.ylim(-100,500)\n",
"#plt.grid()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, we can use **seaborn** [3] to do more advanced plots,"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nI2NEREFwRIyIiIiISDDz7MlIs8+V9Z3klDkqpYbUwIYYERERhSU1IQVPrXwce068DgB46q4fc0sT\nojDlWu7AwoUL9U4GqYgNMSIiIgrb6uxyFKTnAuC+kkREUrAhRkRERIpgA4yISDoG6yAiIiIiItIY\nG2JEREREREQaY0OMiIiIiIhIY2yIERERERERaYwNMSIiIiIiIo2xIUZERERERKQxNsSIiIiIiIg0\nxoYYERERERGRxtgQIyIiIiIi0hgbYkRERERERBpjQ4yIiIiIiEhjbIgRERERERFpjA0xIiIiIiIi\njbEhRkREREREpDE2xIiIiIiIiDTGhhgREREREZHG2BAjIiIiIiLSGBtiREREREREGmNDjIiIiIiI\nSGNsiBEREREREWmMDTEiIiIiIiKNsSFGRERERESkMTbEiIiIiIiINMaGGBERERERkcbYECMiIiIi\nItIYG2JEREREREQaY0OMiIiIiIhIY2yIERERERERaYwNMSIiIiIiIo2xIUZERERERKQxNsSIiIiI\niIg0xoYYERERERGRxtgQIyIiIiIi0hgbYkRERERERBpjQ4yIiIiIiEhjbIgRERERERFpjA0xIiIi\nIiIijbEhRkREREREpDE2xIiIiIiIiDTGhhgREREREZHG2BAjIiIiIiLSGBtiREREREREGmNDjIiI\niIiISGNsiBEREREREWmMDTEiIiIiIiKNsSFGRERERESkMTbEiIiIiIiINMaGGBERERERkcbYECMi\nIiIiItIYG2JEREREREQaY0OMiIiIiIhIY2yIERERERERaYwNMSIiIiIiIo2xIUZERERERKQxNsSI\niIiIiIg0xoYYERERERGRxtgQIyIiIiIi0hgbYkRERERERBpjQ4yIiIiIiEhjbIgRERERERFpjA0x\nIiIiIiIijbEhRkREREREpDE2xIiIiIiIiDTGhhgREREREZHG2BAjIiIiIiLSGBtiREREREREGmND\njIiIiIiISGNsiBEREREREWmMDTEiIiIiIiKNsSFGRERERESkMTbEiIiIiIiINKZLQ+zIkSP42c9+\n5vpzc3MzfvjDH+Kxxx7DK6+84vr7V155BVu3bkVVVRVaWlr0SCoREREREZHiYrU+4d/8zd/g008/\nRX5+vuvvXnzxRezevRuZmZn46U9/io6ODtjtdhw/fhxvvfUW+vv7sWPHDrz99ttaJ5eIiIiIiEhx\n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\nu7gSOfX19fh8Purq6qirqwOgsrKSN954Q/lFAZfLRXl5OQUFBQQCASorK5k+fVOphKUAAAPWSURB\nVLrOPxk3FnPlYnMRERERERG56aJyaaKIiIiIiEg0UyMmIiIiIiISZmrEREREREREwkyNmIiIiIiI\nSJipERMREREREQkzNWIiIiIiIiJhpkZMROQ2UVhYGHrQ6Hjo7u5m+/btALS1tVFTUzNuc4uIiNzp\novKBziIicm1XPmj73zpx4gR//vknAE6nE6fTOW5zi4iI3Ol0RUxEJArs2bOHgoICAA4fPsyCBQsY\nHBy87vH19fUsXLiQZ555hm3bthEMBgHYvXs3LpeLhQsXhq52/fLLLxQVFbF48WKcTifvvfcePp+P\nmpoa2traqK+vZ//+/VRUVADQ1dVFTk4OixYtYunSpfT29gKXrshVVVXhdrvJyMigvb39Zr4lIiIi\nUU2NmIhIFCgqKiImJoa9e/eybt06tm7dysSJE//jOGMM33zzDV999RUHDhygubmZU6dOsW/fPrq7\nu9m3bx+NjY18+umn9PT00NPTQ2NjI6+88gqNjY00NDRQXV1NQkICJSUlOJ1OiouLQ/OPjIxQWlqK\n1+vlk08+we12U1paGtofCAT44IMPqKio4K233grLeyMiIhKNtDRRRCRKbN68mczMTDweD4888sh1\nj/vuu+/IzMwkLi4OgKysLJqbmxkaGsLpdGK32wF49913AZg1axbt7e3s2rWLn3/+mYsXLwKXmrqr\n/fbbbyQlJZGcnAyAy+XC6/Xi9/sBSE9PB2DmzJn8/fff4/TKRUREbj+6IiYiEiX6+/ux2+309PTc\n8DhjzJgmyhhDIBAgNjZ2zPjZs2f5559/KCkpobW1lZkzZ1JaWnrNBuyyy0scr/55o6OjAEyYMAG4\n9F21G80jIiJyp1MjJiISBQYGBvB6vdTX1xMfH8/7779/3WPnzJnDZ599xtDQEIFAgKamJubMmYPD\n4aC9vZ3BwUECgQBlZWX09PTQ2dnJypUrcTqdobsuBoNBrFYrgUBgzNwPPPAAFy5c4McffwTg888/\nZ8qUKSQlJd28Fy8iInIb0tJEEZEosH37dubNm0dycjJer5ecnBzmzp3LlClTxhxnsViYN28eP/30\nE1lZWQQCAdLT0yksLCQmJgaPx0Nubi7GGDIyMnjsscdYuXIl+fn53H333TgcDmbMmEF/fz+zZ8+m\nrq6OHTt2MH36dADi4uKorq5m48aNXLx4kcmTJ1NdXX3NmsfzDo4iIiK3G4vR2hEREREREZGw0tJE\nERERERGRMFMjJiIiIiIiEmZqxERERERERMJMjZiIiIiIiEiYqRETEREREREJMzViIiIiIiIiYaZG\nTEREREREJMz+B6R/hURlpSh+AAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# create our jointplot\n",
"joint_shot_chart = sns.jointplot(shot_df1.LOC_X, shot_df1.LOC_Y, stat_func=None,\n",
" kind='scatter', space=0.2, alpha=1, \n",
" size=12, edgecolor='w', color='g').set_axis_labels(\"x location\", \"y location\")\n",
"\n",
"plt.figure(figsize=(12,11))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### In the next tutorial, we are going to work a little bit more on data analytics and advanced plotting."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# References\n",
"\n",
"[1] http://pandas.pydata.org/\n",
" \n",
"[2] http://matplotlib.org/\n",
"\n",
"[3] http://stanford.edu/~mwaskom/software/seaborn/"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#import sys\n",
"#print('Python version:', sys.version_info)\n",
"\n",
"#import IPython\n",
"#print('IPython version:', IPython.__version__)\n",
"\n",
"#print('Requests version', requests.__version__)\n",
"#print('Pandas version:', pd.__version__)\n",
"#print('json version:', json.__version__)\n",
"\n",
"#import matplotlib\n",
"#print('matplotlib version:', matplotlib.__version__)\n",
"\n",
"#print('seaborn version:', sns.__version__)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}