diff --git a/your-code/main.ipynb b/your-code/main.ipynb
index 31724c5..79240ed 100644
--- a/your-code/main.ipynb
+++ b/your-code/main.ipynb
@@ -9,10 +9,14 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 24,
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np"
+ ]
},
{
"cell_type": "markdown",
@@ -23,10 +27,13 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 2,
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "import pymysql\n",
+ "from sqlalchemy import create_engine\n"
+ ]
},
{
"cell_type": "markdown",
@@ -37,10 +44,12 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 3,
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "engine = create_engine('mysql+pymysql://guest:relational@relational.fit.cvut.cz')"
+ ]
},
{
"cell_type": "markdown",
@@ -51,10 +60,12 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 4,
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "user_table = pd.read_sql_query('SELECT * FROM stats.users', engine)"
+ ]
},
{
"cell_type": "markdown",
@@ -65,10 +76,38 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 5,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "userId 8\n",
+ "Reputation 6764\n",
+ "CreationDate 2010-07-19 19:04:52\n",
+ "DisplayName csgillespie\n",
+ "LastAccessDate 2014-09-09 21:15:08\n",
+ "WebsiteUrl http://www.mas.ncl.ac.uk/~ncsg3/\n",
+ "Location Newcastle, United Kingdom\n",
+ "AboutMe
I'm a statistics lecturer at Newcastle Univ...\n",
+ "Views 1089\n",
+ "UpVotes 604\n",
+ "DownVotes 25\n",
+ "AccountId 70002\n",
+ "Age 36.0\n",
+ "ProfileImageUrl None\n",
+ "Name: 7, dtype: object"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "user_table.rename(columns = {'Id':'userId'}, inplace=True)\n",
+ "user_table.loc[7]"
+ ]
},
{
"cell_type": "markdown",
@@ -79,10 +118,12 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 6,
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "post_table = pd.read_sql_query('SELECT * FROM stats.posts', engine)"
+ ]
},
{
"cell_type": "markdown",
@@ -93,10 +134,24 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 7,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "24.0"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "post_table.rename(columns = {'Id':'postId', \"OwnerUserId\":\"userId\" }, inplace=True)\n",
+ "post_table.loc[ 9, 'userId']"
+ ]
},
{
"cell_type": "markdown",
@@ -109,10 +164,160 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 9,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " postId | \n",
+ " Score | \n",
+ " userId | \n",
+ " ViewCount | \n",
+ " CommentCount | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 23 | \n",
+ " 8.0 | \n",
+ " 1278.0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " 22 | \n",
+ " 24.0 | \n",
+ " 8198.0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " 54 | \n",
+ " 18.0 | \n",
+ " 3613.0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 4 | \n",
+ " 13 | \n",
+ " 23.0 | \n",
+ " 5224.0 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 5 | \n",
+ " 81 | \n",
+ " 23.0 | \n",
+ " NaN | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 91971 | \n",
+ " 115374 | \n",
+ " 2 | \n",
+ " 805.0 | \n",
+ " NaN | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 91972 | \n",
+ " 115375 | \n",
+ " 0 | \n",
+ " 49365.0 | \n",
+ " 9.0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 91973 | \n",
+ " 115376 | \n",
+ " 1 | \n",
+ " 55746.0 | \n",
+ " 5.0 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 91974 | \n",
+ " 115377 | \n",
+ " 0 | \n",
+ " 805.0 | \n",
+ " NaN | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 91975 | \n",
+ " 115378 | \n",
+ " 0 | \n",
+ " 7250.0 | \n",
+ " NaN | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
91976 rows × 5 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " postId Score userId ViewCount CommentCount\n",
+ "0 1 23 8.0 1278.0 1\n",
+ "1 2 22 24.0 8198.0 1\n",
+ "2 3 54 18.0 3613.0 4\n",
+ "3 4 13 23.0 5224.0 2\n",
+ "4 5 81 23.0 NaN 3\n",
+ "... ... ... ... ... ...\n",
+ "91971 115374 2 805.0 NaN 2\n",
+ "91972 115375 0 49365.0 9.0 0\n",
+ "91973 115376 1 55746.0 5.0 2\n",
+ "91974 115377 0 805.0 NaN 0\n",
+ "91975 115378 0 7250.0 NaN 0\n",
+ "\n",
+ "[91976 rows x 5 columns]"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "user_df = user_table[[\"userId\", \"Reputation\", \"Views\", \"UpVotes\", \"DownVotes\"]]\n",
+ "posts_df = post_table[[\"postId\", \"Score\", \"userId\", \"ViewCount\", \"CommentCount\"]]\n",
+ "\n",
+ "user_df\n",
+ "posts_df"
+ ]
},
{
"cell_type": "markdown",
@@ -126,8 +331,216 @@
"cell_type": "code",
"execution_count": 11,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " postId | \n",
+ " Score | \n",
+ " userId | \n",
+ " ViewCount | \n",
+ " CommentCount | \n",
+ " Reputation | \n",
+ " Views | \n",
+ " UpVotes | \n",
+ " DownVotes | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 23 | \n",
+ " 8.0 | \n",
+ " 1278.0 | \n",
+ " 1 | \n",
+ " 6764 | \n",
+ " 1089 | \n",
+ " 604 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 16 | \n",
+ " 16 | \n",
+ " 8.0 | \n",
+ " NaN | \n",
+ " 3 | \n",
+ " 6764 | \n",
+ " 1089 | \n",
+ " 604 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 36 | \n",
+ " 41 | \n",
+ " 8.0 | \n",
+ " 67396.0 | \n",
+ " 7 | \n",
+ " 6764 | \n",
+ " 1089 | \n",
+ " 604 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 65 | \n",
+ " 14 | \n",
+ " 8.0 | \n",
+ " NaN | \n",
+ " 3 | \n",
+ " 6764 | \n",
+ " 1089 | \n",
+ " 604 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 78 | \n",
+ " 33 | \n",
+ " 8.0 | \n",
+ " NaN | \n",
+ " 4 | \n",
+ " 6764 | \n",
+ " 1089 | \n",
+ " 604 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 90579 | \n",
+ " 115366 | \n",
+ " 1 | \n",
+ " 55742.0 | \n",
+ " 17.0 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 90580 | \n",
+ " 115370 | \n",
+ " 1 | \n",
+ " 55744.0 | \n",
+ " 13.0 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 90581 | \n",
+ " 115371 | \n",
+ " 0 | \n",
+ " 35801.0 | \n",
+ " 19.0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 90582 | \n",
+ " 115375 | \n",
+ " 0 | \n",
+ " 49365.0 | \n",
+ " 9.0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 90583 | \n",
+ " 115376 | \n",
+ " 1 | \n",
+ " 55746.0 | \n",
+ " 5.0 | \n",
+ " 2 | \n",
+ " 106 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
90584 rows × 9 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " postId Score userId ViewCount CommentCount Reputation Views \\\n",
+ "0 1 23 8.0 1278.0 1 6764 1089 \n",
+ "1 16 16 8.0 NaN 3 6764 1089 \n",
+ "2 36 41 8.0 67396.0 7 6764 1089 \n",
+ "3 65 14 8.0 NaN 3 6764 1089 \n",
+ "4 78 33 8.0 NaN 4 6764 1089 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "90579 115366 1 55742.0 17.0 0 6 0 \n",
+ "90580 115370 1 55744.0 13.0 2 6 1 \n",
+ "90581 115371 0 35801.0 19.0 0 1 1 \n",
+ "90582 115375 0 49365.0 9.0 0 1 0 \n",
+ "90583 115376 1 55746.0 5.0 2 106 1 \n",
+ "\n",
+ " UpVotes DownVotes \n",
+ "0 604 25 \n",
+ "1 604 25 \n",
+ "2 604 25 \n",
+ "3 604 25 \n",
+ "4 604 25 \n",
+ "... ... ... \n",
+ "90579 0 0 \n",
+ "90580 0 0 \n",
+ "90581 0 0 \n",
+ "90582 0 0 \n",
+ "90583 0 0 \n",
+ "\n",
+ "[90584 rows x 9 columns]"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "combined_merge = pd.merge(right=user_df, left=posts_df, on=\"userId\")\n",
+ "combined_merge\n"
+ ]
},
{
"cell_type": "markdown",
@@ -138,10 +551,33 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 12,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "postId 0\n",
+ "Score 0\n",
+ "userId 0\n",
+ "ViewCount 48396\n",
+ "CommentCount 0\n",
+ "Reputation 0\n",
+ "Views 0\n",
+ "UpVotes 0\n",
+ "DownVotes 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "null_cols = combined_merge.isnull().sum()\n",
+ "null_cols "
+ ]
},
{
"cell_type": "markdown",
@@ -153,10 +589,37 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 13,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "Int64Index: 90584 entries, 0 to 90583\n",
+ "Data columns (total 8 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 postId 90584 non-null int64 \n",
+ " 1 Score 90584 non-null int64 \n",
+ " 2 userId 90584 non-null float64\n",
+ " 3 CommentCount 90584 non-null int64 \n",
+ " 4 Reputation 90584 non-null int64 \n",
+ " 5 Views 90584 non-null int64 \n",
+ " 6 UpVotes 90584 non-null int64 \n",
+ " 7 DownVotes 90584 non-null int64 \n",
+ "dtypes: float64(1), int64(7)\n",
+ "memory usage: 6.2 MB\n"
+ ]
+ }
+ ],
+ "source": [
+ "combined_merge[\"ViewCount\"].isnull().mean()* 100\n",
+ "## 53% de los datos son nulos la opción viable es elimanrr\n",
+ "cleaned_data = combined_merge.drop(['ViewCount'], axis=1)\n",
+ "cleaned_data.info()"
+ ]
},
{
"cell_type": "markdown",
@@ -167,10 +630,206 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 15,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " postId | \n",
+ " Score | \n",
+ " userId | \n",
+ " CommentCount | \n",
+ " Reputation | \n",
+ " Views | \n",
+ " UpVotes | \n",
+ " DownVotes | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 23 | \n",
+ " 8 | \n",
+ " 1 | \n",
+ " 6764 | \n",
+ " 1089 | \n",
+ " 604 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 16 | \n",
+ " 16 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 6764 | \n",
+ " 1089 | \n",
+ " 604 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 36 | \n",
+ " 41 | \n",
+ " 8 | \n",
+ " 7 | \n",
+ " 6764 | \n",
+ " 1089 | \n",
+ " 604 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 65 | \n",
+ " 14 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 6764 | \n",
+ " 1089 | \n",
+ " 604 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 78 | \n",
+ " 33 | \n",
+ " 8 | \n",
+ " 4 | \n",
+ " 6764 | \n",
+ " 1089 | \n",
+ " 604 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 90579 | \n",
+ " 115366 | \n",
+ " 1 | \n",
+ " 55742 | \n",
+ " 0 | \n",
+ " 6 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 90580 | \n",
+ " 115370 | \n",
+ " 1 | \n",
+ " 55744 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 90581 | \n",
+ " 115371 | \n",
+ " 0 | \n",
+ " 35801 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 90582 | \n",
+ " 115375 | \n",
+ " 0 | \n",
+ " 49365 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 90583 | \n",
+ " 115376 | \n",
+ " 1 | \n",
+ " 55746 | \n",
+ " 2 | \n",
+ " 106 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
90584 rows × 8 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " postId Score userId CommentCount Reputation Views UpVotes \\\n",
+ "0 1 23 8 1 6764 1089 604 \n",
+ "1 16 16 8 3 6764 1089 604 \n",
+ "2 36 41 8 7 6764 1089 604 \n",
+ "3 65 14 8 3 6764 1089 604 \n",
+ "4 78 33 8 4 6764 1089 604 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "90579 115366 1 55742 0 6 0 0 \n",
+ "90580 115370 1 55744 2 6 1 0 \n",
+ "90581 115371 0 35801 0 1 1 0 \n",
+ "90582 115375 0 49365 0 1 0 0 \n",
+ "90583 115376 1 55746 2 106 1 0 \n",
+ "\n",
+ " DownVotes \n",
+ "0 25 \n",
+ "1 25 \n",
+ "2 25 \n",
+ "3 25 \n",
+ "4 25 \n",
+ "... ... \n",
+ "90579 0 \n",
+ "90580 0 \n",
+ "90581 0 \n",
+ "90582 0 \n",
+ "90583 0 \n",
+ "\n",
+ "[90584 rows x 8 columns]"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "cleaned_data['userId'] = pd.to_numeric(cleaned_data[\"userId\"], downcast=\"integer\")\n",
+ "cleaned_data"
+ ]
},
{
"cell_type": "markdown",
@@ -178,11 +837,329 @@
"source": [
"#### Bonus: Identify extreme values in your merged dataframe as you have learned in class, create a dataframe called outliers with the same columns as our data set and calculate the bounds. The values of the outliers dataframe will be the values of the merged_df that fall outside that bounds. You will need to save your outliers dataframe to a csv file on your-code folder."
]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "AxesSubplot(0.125,0.125;0.775x0.755)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "--------------------------------------------------------------------------------\n",
+ "AxesSubplot(0.125,0.125;0.775x0.755)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "--------------------------------------------------------------------------------\n",
+ "AxesSubplot(0.125,0.125;0.775x0.755)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "--------------------------------------------------------------------------------\n",
+ "AxesSubplot(0.125,0.125;0.775x0.755)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "--------------------------------------------------------------------------------\n",
+ "AxesSubplot(0.125,0.125;0.775x0.755)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAD4CAYAAAAO9oqkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAPqklEQVR4nO3df6zddX3H8efLFrT+ApQb4tpqmTbDugXUM6hjMUYMFDUrW/wBMaNzxGYRpltMtPoPmboEs2VMMnVprKMYYmXVjQ7RjgBu7gc/bkXBUpEbEGkHerX80OGU4nt/3E/ZGdx7e2pP77nf3ucjObnf7+fz+X7P5zS953U/n+/nfE+qCknSwvaMUXdAkjR6hoEkyTCQJBkGkiQMA0kSsHjUHfhlHX/88bVixYpRd0OSOmPHjh0/rKqx6eo6GwYrVqxgfHx81N2QpM5Ict9MdU4TSZIMA0mSYSBJwjCQJGEYSJLo8Goiab5J8rQybwSprnBkIA3BdEEwW7k03zgykIaofyRgEKhLHBlIkgwDSZLTRNJQOTWkrnJkIA3BTKuGXE2krnBkIA2Jb/zqMkcGkiTDQJJkGEiSMAwkSRgGkiQMA0kShoEkCcNAkoRhIEliwDBI8qdJdib5VpLPJXlWkhOT3JxkIsnnkxzd2j6z7U+0+hV95/lgK78ryVl95Wta2USSDUN/lZKkWR0wDJIsBd4D9Krq14FFwLnAx4BLq+plwEPABe2QC4CHWvmlrR1JVrXjXgGsAT6ZZFGSRcAngLOBVcB5ra0kaY4MOk20GFiSZDHwbOAB4PXA1la/GTinba9t+7T6MzJ1K8e1wJaq+llV3QtMAKe2x0RV3VNVPwe2tLaSpDlywDCoqj3AXwLfYyoEHgF2AA9X1b7WbDewtG0vBe5vx+5r7V/YX/6UY2Yqf5ok65OMJxmfnJwc5PVJkgYwyDTRcUz9pX4i8CvAc5ia5plzVbWxqnpV1RsbGxtFFyTpiDTINNEbgHurarKqHge+CJwOHNumjQCWAXva9h5gOUCrPwb4UX/5U46ZqVySNEcGCYPvAauTPLvN/Z8B3AncCLyltVkHXN22t7V9Wv0NNXWj923AuW210YnASuAW4FZgZVuddDRTF5m3HfpLkyQN6oBfblNVNyfZCnwd2AfcBmwEvgRsSfLRVrapHbIJ+GySCWAvU2/uVNXOJFcxFST7gAur6gmAJBcB25laqfSZqto5vJcoSTqQdPXbmXq9Xo2Pj4+6G5LUGUl2VFVvujo/gSxJMgwkSYaBJAnDQJKEYSBJwjCQJGEYSJIwDCRJGAaSJAwDSRKGgSQJw0CShGEgScIwkCRhGEiSMAwkSRgGkiQMA0kShoEkCcNAkoRhIEnCMJAkYRhIkjAMJEnA4lF3QDpSJHlaWVWNoCfSwXNkIA3BdEEwW7k03zgykIaofyRgEKhLHBlIkgwDSZLTRNJQOTWkrnJkIA3BTKuGXE2krnBkIA2Jb/zqMkcGkiTDQJJkGEiSMAwkSQwYBkmOTbI1ybeT7ErymiQvSHJdkrvbz+Na2yS5LMlEktuTvKrvPOta+7uTrOsrf3WSO9oxl8X1eZI0pwYdGXwc+EpVnQScDOwCNgDXV9VK4Pq2D3A2sLI91gOfAkjyAuBi4DTgVODi/QHS2ryr77g1h/ayJEkH44BhkOQY4LXAJoCq+nlVPQysBTa3ZpuBc9r2WuCKmnITcGySFwFnAddV1d6qegi4DljT6p5fVTfV1Nq8K/rOJUmaA4OMDE4EJoG/S3Jbkk8neQ5wQlU90No8CJzQtpcC9/cdv7uVzVa+e5ryp0myPsl4kvHJyckBui5JGsQgYbAYeBXwqap6JfDf/N+UEADtL/rD/ombqtpYVb2q6o2NjR3up5OkBWOQMNgN7K6qm9v+VqbC4fttiof28wetfg+wvO/4Za1stvJl05RLkubIAcOgqh4E7k/ya63oDOBOYBuwf0XQOuDqtr0NOL+tKloNPNKmk7YDZyY5rl04PhPY3uoeTbK6rSI6v+9ckqQ5MOi9if4YuDLJ0cA9wDuZCpKrklwA3Ae8rbW9FngjMAE81tpSVXuTfAS4tbX7cFXtbdvvBi4HlgBfbg9J0hxJV2+u1ev1anx8fNTdkKTOSLKjqnrT1fkJZEmSYSBJMgwkSRgGkiQMA0kShoEkCcNAkoRhIEnCMJAkYRhIkjAMJEkYBpIkDANJEoaBJAnDQJKEYSBJwjCQJGEYSJIwDCRJGAaSJAwDSRKGgSQJw0CShGEgScIwkCRhGEiSMAwkScDiUXdAOlIkeVpZVY2gJ9LBc2QgDcF0QTBbuTTfODKQhqh/JGAQqEscGUiSDANJktNE0lA5NaSucmQgDcFMq4ZcTaSucGQgDYlv/OoyRwaSpMHDIMmiJLcluabtn5jk5iQTST6f5OhW/sy2P9HqV/Sd44Ot/K4kZ/WVr2llE0k2DPH1SZIGcDAjg/cCu/r2PwZcWlUvAx4CLmjlFwAPtfJLWzuSrALOBV4BrAE+2QJmEfAJ4GxgFXBeaytJmiMDhUGSZcCbgE+3/QCvB7a2JpuBc9r22rZPqz+jtV8LbKmqn1XVvcAEcGp7TFTVPVX1c2BLaytJmiODjgz+Gng/8Iu2/0Lg4ara1/Z3A0vb9lLgfoBW/0hr/2T5U46ZqfxpkqxPMp5kfHJycsCuS5IO5IBhkOTNwA+qascc9GdWVbWxqnpV1RsbGxt1dyTpiDHI0tLTgd9J8kbgWcDzgY8DxyZZ3P76Xwbsae33AMuB3UkWA8cAP+or36//mJnKJUlz4IAjg6r6YFUtq6oVTF0AvqGq3gHcCLylNVsHXN22t7V9Wv0NNbUAextwblttdCKwErgFuBVY2VYnHd2eY9tQXp0kaSCH8qGzDwBbknwUuA3Y1Mo3AZ9NMgHsZerNnarameQq4E5gH3BhVT0BkOQiYDuwCPhMVe08hH5JI+H3GajL0tX/rL1er8bHx0fdDQmY/Z5EXf0d05EnyY6q6k1X5+0opCHy+wzUVd6OQpJkGEiSnCaShsqpIXWVIwNpCPw+A3WdIwNpSHzjV5c5MpAkGQaSJMNAkoRhIEnCMJAk4WoiaWi8UZ26zJGBNAQzfdjMD6GpKxwZSEPkjerUVY4MJEmGgSTJaSJpqJwaUlc5MpCGwBvVqescGUhD4hu/usyRgSTJMJAkGQaSJAwDSRKGgSQJw0CShEtLpaHxrqXqMkcG0hB411J1nSMDaYi8a6m6ypGBJMkwkCQ5TSQNlVND6ipHBtIQeNdSdZ1hIA2Bq4nUdYaBJMlrBtIwubRUXeXIQJLkyEAaJkcD6qoDjgySLE9yY5I7k+xM8t5W/oIk1yW5u/08rpUnyWVJJpLcnuRVfeda19rfnWRdX/mrk9zRjrks/kZJ0pwaZJpoH/C+qloFrAYuTLIK2ABcX1UrgevbPsDZwMr2WA98CqbCA7gYOA04Fbh4f4C0Nu/qO27Nob80ae64tFRdd8AwqKoHqurrbfvHwC5gKbAW2NyabQbOadtrgStqyk3AsUleBJwFXFdVe6vqIeA6YE2re35V3VRTvzlX9J1L6gSXlqrrDuoCcpIVwCuBm4ETquqBVvUgcELbXgrc33fY7lY2W/nuacqne/71ScaTjE9OTh5M16U5UVVPPqQuGTgMkjwX+ALwJ1X1aH9d+4v+sP/vr6qNVdWrqt7Y2NjhfjrpoCV58iF1yUBhkOQopoLgyqr6Yiv+fpviof38QSvfAyzvO3xZK5utfNk05ZKkOTLIaqIAm4BdVfVXfVXbgP0rgtYBV/eVn99WFa0GHmnTSduBM5Mc1y4cnwlsb3WPJlndnuv8vnNJkubAIJ8zOB34feCOJN9oZR8CLgGuSnIBcB/wtlZ3LfBGYAJ4DHgnQFXtTfIR4NbW7sNVtbdtvxu4HFgCfLk9JElzJF290NXr9Wp8fHzU3ZCA2VcNdfV3TEeeJDuqqjddnbejkCQZBpIkw0CShDeqk4bKW1irqwwDaYgMAHWV00SSJMNAkmQYSJIwDCRJGAaSJAwDSRKGgSQJw0CShGEgScIwkCTh7SikWa3Y8KU5O8d3L3nTIT+X9MsyDKRZDPwGfUlNe18iv9hGXeE0kTQkVUVV8ZIPXPPkttQVhoEkyTCQJBkGkiQMA0kShoEkCcNAkoRhIEnCMJAkYRhIkjAMJEkYBpIkvFGdFpiT/+yfeeSnjx/25xnG3U5nc8ySo/jmxWce1ufQwmIYaEF55KePHxG3ij7cYaOFx2kiSZJhIEkyDCRJGAaSJAwDSRLzKAySrElyV5KJJBtG3R9JWkjmRRgkWQR8AjgbWAWcl2TVaHslSQvHfPmcwanARFXdA5BkC7AWuHOkvdIR53kv38BvbO7+wPN5Lwfo/uclNH/MlzBYCtzft78bOO2pjZKsB9YDvPjFL56bnumI8uNdl4y6C0NxzJKjRt0FHWHmSxgMpKo2AhsBer1ejbg76qAj4dPH0uEwL64ZAHuA5X37y1qZJGkOzJcwuBVYmeTEJEcD5wLbRtwnSVow5sU0UVXtS3IRsB1YBHymqnaOuFuStGDMizAAqKprgWtH3Q9JWojmyzSRJGmEDANJkmEgSTIMJElAqrr52a0kk8B9o+6HNI3jgR+OuhPSNF5SVWPTVXQ2DKT5Ksl4VfVG3Q/pYDhNJEkyDCRJhoF0OGwcdQekg+U1A0mSIwNJkmEgScIw0AKS5Ikk30jyrST/lOTYw/AcH/pl2iX5j2H3RToYXjPQgpHkJ1X13La9GfhOVf354XqOYbST5oojAy1U/8nUd2+T5KVJvpJkR5KvJTmplV+e5G+TjCf5TpI3t/I/SPI3+0+U5Jokr0tyCbCkjT6ubHX/2M67s32HNzO0+0n7mSR/0UYvdyR5eyt/XZKvJtma5NtJrkySOfvX0hFv3nyfgTRXkiwCzgA2taKNwB9V1d1JTgM+Cby+1a0ATgVeCtyY5GUznbeqNiS5qKpO6Sv+w6ram2QJcGuSL8zQbr/fA04BTmbqtha3JvnXVvdK4BXAfwH/DpwO/NtBvXhpBoaBFpIlSb7B1IhgF3BdkucCvwX8fd8f2s/sO+aqqvoFcHeSe4CTDvI535Pkd9v2cmAl8KNZ2v828LmqegL4fpJ/AX4TeBS4pap2A7TXsQLDQENiGGgh+WlVnZLk2Ux9xeqFwOXAwzP8lQ7w1ItqBezj/0+xPmu6A5O8DngD8JqqeizJV2dqO6Cf9W0/gb+/GiKvGWjBqarHgPcA7wMeA+5N8lZ4cs7+5L7mb03yjCQvBX4VuAv4LnBKK1/O1DTSfo8nOaptHwM81ILgJGD1DO36fQ14e5JFScaA1wK3HOprlg7EMNCCVFW3AbcD5wHvAC5I8k1gJ7C2r+n3mHoz/jJT1xX+h6n5+nuBO4HLgK/3td8I3N4uDH8FWJxkF3AJcNMM7fr9Q+vXN4EbgPdX1YOH/oql2bm0VJpBksuBa6pq66j7Ih1ujgwkSY4MJEmODCRJGAaSJAwDSRKGgSQJw0CSBPwvwSJP+9nRLegAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "--------------------------------------------------------------------------------\n",
+ "AxesSubplot(0.125,0.125;0.775x0.755)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "--------------------------------------------------------------------------------\n",
+ "AxesSubplot(0.125,0.125;0.775x0.755)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "--------------------------------------------------------------------------------\n",
+ "AxesSubplot(0.125,0.125;0.775x0.755)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "--------------------------------------------------------------------------------\n"
+ ]
+ }
+ ],
+ "source": [
+ "caja_de_bigotes = cleaned_data.copy()\n",
+ "\n",
+ "\n",
+ "for column in caja_de_bigotes:\n",
+ " print(caja_de_bigotes[column].plot.box())\n",
+ " plt.show()\n",
+ " print('--------' * 10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " count | \n",
+ " mean | \n",
+ " std | \n",
+ " min | \n",
+ " 25% | \n",
+ " 50% | \n",
+ " 75% | \n",
+ " max | \n",
+ " IQR | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | postId | \n",
+ " 90584.0 | \n",
+ " 56539.080522 | \n",
+ " 33840.307529 | \n",
+ " 1.0 | \n",
+ " 26051.75 | \n",
+ " 57225.5 | \n",
+ " 86145.25 | \n",
+ " 115378.0 | \n",
+ " 60093.5 | \n",
+ "
\n",
+ " \n",
+ " | Score | \n",
+ " 90584.0 | \n",
+ " 2.780767 | \n",
+ " 4.948922 | \n",
+ " -19.0 | \n",
+ " 1.00 | \n",
+ " 2.0 | \n",
+ " 3.00 | \n",
+ " 192.0 | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | userId | \n",
+ " 90584.0 | \n",
+ " 16546.764727 | \n",
+ " 15273.367108 | \n",
+ " -1.0 | \n",
+ " 3437.00 | \n",
+ " 11032.0 | \n",
+ " 27700.00 | \n",
+ " 55746.0 | \n",
+ " 24263.0 | \n",
+ "
\n",
+ " \n",
+ " | CommentCount | \n",
+ " 90584.0 | \n",
+ " 1.894650 | \n",
+ " 2.638704 | \n",
+ " 0.0 | \n",
+ " 0.00 | \n",
+ " 1.0 | \n",
+ " 3.00 | \n",
+ " 45.0 | \n",
+ " 3.0 | \n",
+ "
\n",
+ " \n",
+ " | Reputation | \n",
+ " 90584.0 | \n",
+ " 6282.395412 | \n",
+ " 15102.268670 | \n",
+ " 1.0 | \n",
+ " 60.00 | \n",
+ " 396.0 | \n",
+ " 4460.00 | \n",
+ " 87393.0 | \n",
+ " 4400.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " count mean std min 25% 50% \\\n",
+ "postId 90584.0 56539.080522 33840.307529 1.0 26051.75 57225.5 \n",
+ "Score 90584.0 2.780767 4.948922 -19.0 1.00 2.0 \n",
+ "userId 90584.0 16546.764727 15273.367108 -1.0 3437.00 11032.0 \n",
+ "CommentCount 90584.0 1.894650 2.638704 0.0 0.00 1.0 \n",
+ "Reputation 90584.0 6282.395412 15102.268670 1.0 60.00 396.0 \n",
+ "\n",
+ " 75% max IQR \n",
+ "postId 86145.25 115378.0 60093.5 \n",
+ "Score 3.00 192.0 2.0 \n",
+ "userId 27700.00 55746.0 24263.0 \n",
+ "CommentCount 3.00 45.0 3.0 \n",
+ "Reputation 4460.00 87393.0 4400.0 "
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "stats = caja_de_bigotes.describe().transpose()\n",
+ "stats['IQR'] = stats['75%'] - stats['25%']\n",
+ "stats.head(5)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
"kernelspec": {
- "display_name": "Python 3",
+ "display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
@@ -196,7 +1173,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.5"
+ "version": "3.8.9"
}
},
"nbformat": 4,
diff --git a/your-code/weather.ipynb b/your-code/weather.ipynb
index 4fc40ab..d1bccf9 100644
--- a/your-code/weather.ipynb
+++ b/your-code/weather.ipynb
@@ -47,7 +47,7 @@
],
"metadata": {
"kernelspec": {
- "display_name": "Python 3",
+ "display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
@@ -61,7 +61,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.5"
+ "version": "3.8.9"
}
},
"nbformat": 4,