{ "cells": [ { "metadata": {}, "cell_type": "markdown", "source": "", "id": "8a77807f92f26ee" }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T10:00:23.434531Z", "start_time": "2026-04-25T10:00:23.381273Z" } }, "cell_type": "markdown", "source": [ "## This is the Q1 Notebook!\n", "\n", "It's tracked via GitHub! hence the need for this line for the init commit" ], "id": "193cc36275a60171" }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.486005100Z", "start_time": "2026-04-25T13:28:40.480384400Z" } }, "cell_type": "code", "source": [ "import pandas as pd\n", "import numpy as np" ], "id": "edaea0c939a83b79", "outputs": [], "execution_count": 70 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.502729500Z", "start_time": "2026-04-25T13:28:40.488006Z" } }, "cell_type": "code", "source": "df = pd.read_csv('data/googleplaystore_new.csv')", "id": "e657e9baacc13e6b", "outputs": [], "execution_count": 71 }, { "metadata": {}, "cell_type": "markdown", "source": "## Part A\n", "id": "751a6161e8e12bdd" }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.516572500Z", "start_time": "2026-04-25T13:28:40.503729900Z" } }, "cell_type": "code", "source": [ "df = df.dropna()\n", "df = df.drop_duplicates()" ], "id": "756c92821453bbb3", "outputs": [], "execution_count": 72 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.537749600Z", "start_time": "2026-04-25T13:28:40.517577900Z" } }, "cell_type": "code", "source": "df.head(10)", "id": "4e1be303d63f47a4", "outputs": [ { "data": { "text/plain": [ " App Category Rating Reviews Size \\\n", "0 Market Update Helper LIBRARIES_AND_DEMO 4.1 20145 11k \n", "1 SuperLivePro BUSINESS 4.3 46353 21M \n", "2 Wifi Connect Library LIBRARIES_AND_DEMO 3.9 58055 41k \n", "3 Apk Installer LIBRARIES_AND_DEMO 3.8 7750 292k \n", "4 English speaking texts EDUCATION 4.4 1619 3.0M \n", "5 Eternal life LIBRARIES_AND_DEMO 5.0 26 2.5M \n", "6 Dresses Ideas & Fashions +3000 BEAUTY 4.5 473 8.2M \n", "7 GO Notifier COMMUNICATION 4.2 124346 695k \n", "8 Prosperity EVENTS 5.0 16 2.3M \n", "9 NSE Mobile Trading FINANCE 4.1 13868 1.4M \n", "\n", " Installs Type Price Content Rating Genres Android Ver \n", "0 1,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n", "1 1,000,000+ Free 0 Everyone Business 1.5 and up \n", "2 5,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n", "3 1,000,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n", "4 1,000,000+ Free 0 Everyone Education 1.6 and up \n", "5 1,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n", "6 100,000+ Free 0 Mature 17+ Beauty 1.6 and up \n", "7 10,000,000+ Free 0 Everyone Communication 2.0 and up \n", "8 100+ Free 0 Everyone Events 2.0 and up \n", "9 1,000,000+ Free 0 Everyone Finance 2.1 and up " ], "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AppCategoryRatingReviewsSizeInstallsTypePriceContent RatingGenresAndroid Ver
0Market Update HelperLIBRARIES_AND_DEMO4.12014511k1,000,000+Free0EveryoneLibraries & Demo1.5 and up
1SuperLiveProBUSINESS4.34635321M1,000,000+Free0EveryoneBusiness1.5 and up
2Wifi Connect LibraryLIBRARIES_AND_DEMO3.95805541k5,000,000+Free0EveryoneLibraries & Demo1.5 and up
3Apk InstallerLIBRARIES_AND_DEMO3.87750292k1,000,000+Free0EveryoneLibraries & Demo1.6 and up
4English speaking textsEDUCATION4.416193.0M1,000,000+Free0EveryoneEducation1.6 and up
5Eternal lifeLIBRARIES_AND_DEMO5.0262.5M1,000+Free0EveryoneLibraries & Demo1.6 and up
6Dresses Ideas & Fashions +3000BEAUTY4.54738.2M100,000+Free0Mature 17+Beauty1.6 and up
7GO NotifierCOMMUNICATION4.2124346695k10,000,000+Free0EveryoneCommunication2.0 and up
8ProsperityEVENTS5.0162.3M100+Free0EveryoneEvents2.0 and up
9NSE Mobile TradingFINANCE4.1138681.4M1,000,000+Free0EveryoneFinance2.1 and up
\n", "
" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 73 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:14:34.819448Z", "start_time": "2026-04-25T13:14:34.807334900Z" } }, "cell_type": "markdown", "source": "## Part B", "id": "5e0e0e76635904b6" }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.562150300Z", "start_time": "2026-04-25T13:28:40.543751400Z" } }, "cell_type": "code", "source": [ "# Getting the column for size, checking if it's ending with an M or a k and converting the Mb to kb with 1024* and then again from kb to just b by another 1024*\n", "def parse_size(size_str):\n", " if isinstance(size_str, str):\n", " if size_str.endswith('M'):\n", " return float(size_str[:-1]) * 1024 * 1024\n", " elif size_str.endswith('k'):\n", " return float(size_str[:-1]) * 1024\n", " return size_str" ], "id": "c15cb7f9831e0f81", "outputs": [], "execution_count": 74 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.568463900Z", "start_time": "2026-04-25T13:28:40.563149700Z" } }, "cell_type": "code", "source": "df['Size in bytes'] = df['Size'].apply(parse_size)", "id": "c76da70de24ddc72", "outputs": [], "execution_count": 75 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:50.368129Z", "start_time": "2026-04-25T13:28:50.352002600Z" } }, "cell_type": "code", "source": "df[['Size', 'Size in bytes']].head(10)", "id": "73784ad66975e81f", "outputs": [ { "data": { "text/plain": [ " Size Size in bytes\n", "0 11k 11264.0\n", "1 21M 22020096.0\n", "2 41k 41984.0\n", "3 292k 299008.0\n", "4 3.0M 3145728.0\n", "5 2.5M 2621440.0\n", "6 8.2M 8598323.2\n", "7 695k 711680.0\n", "8 2.3M 2411724.8\n", "9 1.4M 1468006.4" ], "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SizeSize in bytes
011k11264.0
121M22020096.0
241k41984.0
3292k299008.0
43.0M3145728.0
52.5M2621440.0
68.2M8598323.2
7695k711680.0
82.3M2411724.8
91.4M1468006.4
\n", "
" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 81 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.608697900Z", "start_time": "2026-04-25T13:28:40.593237200Z" } }, "cell_type": "code", "source": "print(11*1024) # Just checking the kb and mb conversion happened properly, by checking 2 of the values manually.", "id": "7ac34d8bc88327a1", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "11264\n" ] } ], "execution_count": 77 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.639521100Z", "start_time": "2026-04-25T13:28:40.619210900Z" } }, "cell_type": "code", "source": "print((21*1024)*1024) # Ideally this is the same as doing the calculation without the ( ) but just incase!", "id": "f72b05042c5a16fa", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "22020096\n" ] } ], "execution_count": 78 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.656738800Z", "start_time": "2026-04-25T13:28:40.641523100Z" } }, "cell_type": "code", "source": "print(1.4*1024*1024) # This one seemed odd... Checked on an online converted to double-check but turns out the 0.4 bytes shows up there too.", "id": "dcaf54123ea0d75d", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1468006.4\n" ] } ], "execution_count": 79 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.678521Z", "start_time": "2026-04-25T13:28:40.656738800Z" } }, "cell_type": "code", "source": "df.head(10)", "id": "3e1112ae100d010c", "outputs": [ { "data": { "text/plain": [ " App Category Rating Reviews Size \\\n", "0 Market Update Helper LIBRARIES_AND_DEMO 4.1 20145 11k \n", "1 SuperLivePro BUSINESS 4.3 46353 21M \n", "2 Wifi Connect Library LIBRARIES_AND_DEMO 3.9 58055 41k \n", "3 Apk Installer LIBRARIES_AND_DEMO 3.8 7750 292k \n", "4 English speaking texts EDUCATION 4.4 1619 3.0M \n", "5 Eternal life LIBRARIES_AND_DEMO 5.0 26 2.5M \n", "6 Dresses Ideas & Fashions +3000 BEAUTY 4.5 473 8.2M \n", "7 GO Notifier COMMUNICATION 4.2 124346 695k \n", "8 Prosperity EVENTS 5.0 16 2.3M \n", "9 NSE Mobile Trading FINANCE 4.1 13868 1.4M \n", "\n", " Installs Type Price Content Rating Genres Android Ver \\\n", "0 1,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n", "1 1,000,000+ Free 0 Everyone Business 1.5 and up \n", "2 5,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n", "3 1,000,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n", "4 1,000,000+ Free 0 Everyone Education 1.6 and up \n", "5 1,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n", "6 100,000+ Free 0 Mature 17+ Beauty 1.6 and up \n", "7 10,000,000+ Free 0 Everyone Communication 2.0 and up \n", "8 100+ Free 0 Everyone Events 2.0 and up \n", "9 1,000,000+ Free 0 Everyone Finance 2.1 and up \n", "\n", " Size in bytes \n", "0 11264.0 \n", "1 22020096.0 \n", "2 41984.0 \n", "3 299008.0 \n", "4 3145728.0 \n", "5 2621440.0 \n", "6 8598323.2 \n", "7 711680.0 \n", "8 2411724.8 \n", "9 1468006.4 " ], "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AppCategoryRatingReviewsSizeInstallsTypePriceContent RatingGenresAndroid VerSize in bytes
0Market Update HelperLIBRARIES_AND_DEMO4.12014511k1,000,000+Free0EveryoneLibraries & Demo1.5 and up11264.0
1SuperLiveProBUSINESS4.34635321M1,000,000+Free0EveryoneBusiness1.5 and up22020096.0
2Wifi Connect LibraryLIBRARIES_AND_DEMO3.95805541k5,000,000+Free0EveryoneLibraries & Demo1.5 and up41984.0
3Apk InstallerLIBRARIES_AND_DEMO3.87750292k1,000,000+Free0EveryoneLibraries & Demo1.6 and up299008.0
4English speaking textsEDUCATION4.416193.0M1,000,000+Free0EveryoneEducation1.6 and up3145728.0
5Eternal lifeLIBRARIES_AND_DEMO5.0262.5M1,000+Free0EveryoneLibraries & Demo1.6 and up2621440.0
6Dresses Ideas & Fashions +3000BEAUTY4.54738.2M100,000+Free0Mature 17+Beauty1.6 and up8598323.2
7GO NotifierCOMMUNICATION4.2124346695k10,000,000+Free0EveryoneCommunication2.0 and up711680.0
8ProsperityEVENTS5.0162.3M100+Free0EveryoneEvents2.0 and up2411724.8
9NSE Mobile TradingFINANCE4.1138681.4M1,000,000+Free0EveryoneFinance2.1 and up1468006.4
\n", "
" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 80 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:28:40.682532800Z", "start_time": "2026-04-25T13:28:40.678521Z" } }, "cell_type": "markdown", "source": "# Part C", "id": "9883e69704d0a69e" }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:29:54.733479400Z", "start_time": "2026-04-25T13:29:54.718136700Z" } }, "cell_type": "code", "source": "df['Numeric_installs'] = df['Installs'].str.replace('+', '').str.replace(',', '').astype(int)", "id": "c8d4f46526918c20", "outputs": [], "execution_count": 82 }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:30:07.364394100Z", "start_time": "2026-04-25T13:30:07.347101500Z" } }, "cell_type": "code", "source": "df.head(10)", "id": "cffd24a82d242352", "outputs": [ { "data": { "text/plain": [ " App Category Rating Reviews Size \\\n", "0 Market Update Helper LIBRARIES_AND_DEMO 4.1 20145 11k \n", "1 SuperLivePro BUSINESS 4.3 46353 21M \n", "2 Wifi Connect Library LIBRARIES_AND_DEMO 3.9 58055 41k \n", "3 Apk Installer LIBRARIES_AND_DEMO 3.8 7750 292k \n", "4 English speaking texts EDUCATION 4.4 1619 3.0M \n", "5 Eternal life LIBRARIES_AND_DEMO 5.0 26 2.5M \n", "6 Dresses Ideas & Fashions +3000 BEAUTY 4.5 473 8.2M \n", "7 GO Notifier COMMUNICATION 4.2 124346 695k \n", "8 Prosperity EVENTS 5.0 16 2.3M \n", "9 NSE Mobile Trading FINANCE 4.1 13868 1.4M \n", "\n", " Installs Type Price Content Rating Genres Android Ver \\\n", "0 1,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n", "1 1,000,000+ Free 0 Everyone Business 1.5 and up \n", "2 5,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n", "3 1,000,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n", "4 1,000,000+ Free 0 Everyone Education 1.6 and up \n", "5 1,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n", "6 100,000+ Free 0 Mature 17+ Beauty 1.6 and up \n", "7 10,000,000+ Free 0 Everyone Communication 2.0 and up \n", "8 100+ Free 0 Everyone Events 2.0 and up \n", "9 1,000,000+ Free 0 Everyone Finance 2.1 and up \n", "\n", " Size in bytes Numeric_installs \n", "0 11264.0 1000000 \n", "1 22020096.0 1000000 \n", "2 41984.0 5000000 \n", "3 299008.0 1000000 \n", "4 3145728.0 1000000 \n", "5 2621440.0 1000 \n", "6 8598323.2 100000 \n", "7 711680.0 10000000 \n", "8 2411724.8 100 \n", "9 1468006.4 1000000 " ], "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AppCategoryRatingReviewsSizeInstallsTypePriceContent RatingGenresAndroid VerSize in bytesNumeric_installs
0Market Update HelperLIBRARIES_AND_DEMO4.12014511k1,000,000+Free0EveryoneLibraries & Demo1.5 and up11264.01000000
1SuperLiveProBUSINESS4.34635321M1,000,000+Free0EveryoneBusiness1.5 and up22020096.01000000
2Wifi Connect LibraryLIBRARIES_AND_DEMO3.95805541k5,000,000+Free0EveryoneLibraries & Demo1.5 and up41984.05000000
3Apk InstallerLIBRARIES_AND_DEMO3.87750292k1,000,000+Free0EveryoneLibraries & Demo1.6 and up299008.01000000
4English speaking textsEDUCATION4.416193.0M1,000,000+Free0EveryoneEducation1.6 and up3145728.01000000
5Eternal lifeLIBRARIES_AND_DEMO5.0262.5M1,000+Free0EveryoneLibraries & Demo1.6 and up2621440.01000
6Dresses Ideas & Fashions +3000BEAUTY4.54738.2M100,000+Free0Mature 17+Beauty1.6 and up8598323.2100000
7GO NotifierCOMMUNICATION4.2124346695k10,000,000+Free0EveryoneCommunication2.0 and up711680.010000000
8ProsperityEVENTS5.0162.3M100+Free0EveryoneEvents2.0 and up2411724.8100
9NSE Mobile TradingFINANCE4.1138681.4M1,000,000+Free0EveryoneFinance2.1 and up1468006.41000000
\n", "
" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 83 }, { "metadata": {}, "cell_type": "markdown", "source": "## Part D", "id": "1818d3183dae5398" }, { "metadata": { "ExecuteTime": { "end_time": "2026-04-25T13:35:48.441535100Z", "start_time": "2026-04-25T13:35:48.421909700Z" } }, "cell_type": "code", "source": "df.to_csv('data/googleplaystore_new_new.csv', index=False)", "id": "5a99edb9f8b29b12", "outputs": [], "execution_count": 88 }, { "metadata": {}, "cell_type": "markdown", "source": "# Part E", "id": "5372c799c0b2662" }, { "metadata": {}, "cell_type": "code", "outputs": [], "execution_count": null, "source": "", "id": "8cc741d5b19eaa62" } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.6" } }, "nbformat": 4, "nbformat_minor": 5 }