From e0e6786311f05db5f0ec7eb6d2f3f1b55e37d4d3 Mon Sep 17 00:00:00 2001
From: NIshaShenvi <60288119+NIshaShenvi@users.noreply.github.com>
Date: Mon, 24 Aug 2020 15:19:09 +0530
Subject: [PATCH 1/2] Assignment1 by Nisha Shenvi
---
.../Assignment1 Numpy NishaShenvi.ipynb | 377 ++++++++++++++++++
1 file changed, 377 insertions(+)
create mode 100644 Assignment/Assignment1 Numpy NishaShenvi.ipynb
diff --git a/Assignment/Assignment1 Numpy NishaShenvi.ipynb b/Assignment/Assignment1 Numpy NishaShenvi.ipynb
new file mode 100644
index 0000000..b37d310
--- /dev/null
+++ b/Assignment/Assignment1 Numpy NishaShenvi.ipynb
@@ -0,0 +1,377 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Assignment"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Make a python list => \\[1,2,3,4,5\\]\n",
+ "\n",
+ "Convert it into numpy array and print it"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([1, 2, 3, 4, 5])"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "list1=[1,2,3,4,5]\n",
+ "num=np.array(list1)\n",
+ "num"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Make a python matrix (3 x 3) => [[1,2,3],[4,5,6],[7,8,9]]\n",
+ "\n",
+ "Convert it into numpy array and print it"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[1, 2, 3],\n",
+ " [4, 5, 6],\n",
+ " [7, 8, 9]])"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "list2=np.arange(1,10)\n",
+ "list2.reshape(3,3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Make a matrix (3 x 3) using built-in methods (like arange(), reshape() etc.):\n",
+ "\n",
+ "\\[ [1,3,5],\n",
+ "\n",
+ " [7,9,11],\n",
+ " \n",
+ " [13,15,17] \\]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[ 1, 3, 5],\n",
+ " [ 7, 9, 11],\n",
+ " [13, 15, 17]])"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "list3=np.arange(1,18,2)\n",
+ "list3.reshape(3,3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create a numpy array with 10 random numbers from 0 to 10 (there should be few numbers greater than 1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([9, 3, 0, 8, 6, 1, 5, 5, 0, 9])"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranarr= np.random.randint(0,10,10)\n",
+ "ranarr"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create numpy array => \\[1,2,3,4,5\\] and convert it to 2D array with 5 rows"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[1],\n",
+ " [2],\n",
+ " [3],\n",
+ " [4],\n",
+ " [5]])"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "list4=np.arange(1,6)\n",
+ "list4=list4.reshape(5,1)\n",
+ "list4"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Print the shape of the above created array"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(5, 1)"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "list4.shape"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create a numpy array with 10 elements in it. Access and print its 3rd, 4th and 9th element."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "3rd element 3\n",
+ "4th element 4\n",
+ "9th element 9\n"
+ ]
+ }
+ ],
+ "source": [
+ "list5=np.arange(0,10,1)\n",
+ "print(\"3rd element {}\\n4th element {}\\n9th element {}\".format(list5[3],list5[4],list5[9]))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Print alternate elements of that array"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0\n",
+ "2\n",
+ "4\n",
+ "6\n",
+ "8\n"
+ ]
+ }
+ ],
+ "source": [
+ "for i in range(0,10,2):\n",
+ " print(list5[i])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Change last 3 elements into 100 using broadcasting and print"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([ 0, 1, 2, 3, 4, 5, 6, 100, 100, 100])"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "list5[-3:]=100\n",
+ "list5"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Create a 5 x 5 matrix (fill it with any element you like), print it.\n",
+ "\n",
+ "Then print the middle (3 x 3) matrix."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[10 20 44 40 28]\n",
+ " [27 15 24 33 25]\n",
+ " [11 10 14 7 3]\n",
+ " [39 28 46 44 29]\n",
+ " [25 35 12 9 4]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "list6= np.random.randint(0,50,25)\n",
+ "list6=list6.reshape(5,5)\n",
+ "print(list6)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[[15 24 33]\n",
+ " [10 14 7]\n",
+ " [28 46 44]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(list6[1:4,1:4])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.4"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
From d37be350b37195ae7c1839d5f95edbf3a961921a Mon Sep 17 00:00:00 2001
From: NIshaShenvi <60288119+NIshaShenvi@users.noreply.github.com>
Date: Sun, 6 Sep 2020 14:11:58 +0530
Subject: [PATCH 2/2] Assignment 2 By Nisha Shenvi
---
.../Assignment2 pandas by Nisha Shenvi.ipynb | 1303 +++++++++++++++++
1 file changed, 1303 insertions(+)
create mode 100644 Assignment/Assignment2 pandas by Nisha Shenvi.ipynb
diff --git a/Assignment/Assignment2 pandas by Nisha Shenvi.ipynb b/Assignment/Assignment2 pandas by Nisha Shenvi.ipynb
new file mode 100644
index 0000000..43a104b
--- /dev/null
+++ b/Assignment/Assignment2 pandas by Nisha Shenvi.ipynb
@@ -0,0 +1,1303 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "#%matplotlib notebook\n",
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "import the dataset into a dataframe"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Id | \n",
+ " EmployeeName | \n",
+ " JobTitle | \n",
+ " BasePay | \n",
+ " OvertimePay | \n",
+ " OtherPay | \n",
+ " Benefits | \n",
+ " TotalPay | \n",
+ " TotalPayBenefits | \n",
+ " Year | \n",
+ " Notes | \n",
+ " Agency | \n",
+ " Status | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " NATHANIEL FORD | \n",
+ " GENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY | \n",
+ " 167411.18 | \n",
+ " 0.00 | \n",
+ " 400184.25 | \n",
+ " NaN | \n",
+ " 567595.43 | \n",
+ " 567595.43 | \n",
+ " 2011 | \n",
+ " NaN | \n",
+ " San Francisco | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " GARY JIMENEZ | \n",
+ " CAPTAIN III (POLICE DEPARTMENT) | \n",
+ " 155966.02 | \n",
+ " 245131.88 | \n",
+ " 137811.38 | \n",
+ " NaN | \n",
+ " 538909.28 | \n",
+ " 538909.28 | \n",
+ " 2011 | \n",
+ " NaN | \n",
+ " San Francisco | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " ALBERT PARDINI | \n",
+ " CAPTAIN III (POLICE DEPARTMENT) | \n",
+ " 212739.13 | \n",
+ " 106088.18 | \n",
+ " 16452.60 | \n",
+ " NaN | \n",
+ " 335279.91 | \n",
+ " 335279.91 | \n",
+ " 2011 | \n",
+ " NaN | \n",
+ " San Francisco | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 4 | \n",
+ " CHRISTOPHER CHONG | \n",
+ " WIRE ROPE CABLE MAINTENANCE MECHANIC | \n",
+ " 77916.00 | \n",
+ " 56120.71 | \n",
+ " 198306.90 | \n",
+ " NaN | \n",
+ " 332343.61 | \n",
+ " 332343.61 | \n",
+ " 2011 | \n",
+ " NaN | \n",
+ " San Francisco | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 5 | \n",
+ " PATRICK GARDNER | \n",
+ " DEPUTY CHIEF OF DEPARTMENT,(FIRE DEPARTMENT) | \n",
+ " 134401.60 | \n",
+ " 9737.00 | \n",
+ " 182234.59 | \n",
+ " NaN | \n",
+ " 326373.19 | \n",
+ " 326373.19 | \n",
+ " 2011 | \n",
+ " NaN | \n",
+ " San Francisco | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 148649 | \n",
+ " 148650 | \n",
+ " Roy I Tillery | \n",
+ " Custodian | \n",
+ " 0.00 | \n",
+ " 0.00 | \n",
+ " 0.00 | \n",
+ " 0.0 | \n",
+ " 0.00 | \n",
+ " 0.00 | \n",
+ " 2014 | \n",
+ " NaN | \n",
+ " San Francisco | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 148650 | \n",
+ " 148651 | \n",
+ " Not provided | \n",
+ " Not provided | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 0.00 | \n",
+ " 0.00 | \n",
+ " 2014 | \n",
+ " NaN | \n",
+ " San Francisco | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 148651 | \n",
+ " 148652 | \n",
+ " Not provided | \n",
+ " Not provided | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 0.00 | \n",
+ " 0.00 | \n",
+ " 2014 | \n",
+ " NaN | \n",
+ " San Francisco | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 148652 | \n",
+ " 148653 | \n",
+ " Not provided | \n",
+ " Not provided | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 0.00 | \n",
+ " 0.00 | \n",
+ " 2014 | \n",
+ " NaN | \n",
+ " San Francisco | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 148653 | \n",
+ " 148654 | \n",
+ " Joe Lopez | \n",
+ " Counselor, Log Cabin Ranch | \n",
+ " 0.00 | \n",
+ " 0.00 | \n",
+ " -618.13 | \n",
+ " 0.0 | \n",
+ " -618.13 | \n",
+ " -618.13 | \n",
+ " 2014 | \n",
+ " NaN | \n",
+ " San Francisco | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
148654 rows × 13 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Id EmployeeName \\\n",
+ "0 1 NATHANIEL FORD \n",
+ "1 2 GARY JIMENEZ \n",
+ "2 3 ALBERT PARDINI \n",
+ "3 4 CHRISTOPHER CHONG \n",
+ "4 5 PATRICK GARDNER \n",
+ "... ... ... \n",
+ "148649 148650 Roy I Tillery \n",
+ "148650 148651 Not provided \n",
+ "148651 148652 Not provided \n",
+ "148652 148653 Not provided \n",
+ "148653 148654 Joe Lopez \n",
+ "\n",
+ " JobTitle BasePay \\\n",
+ "0 GENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY 167411.18 \n",
+ "1 CAPTAIN III (POLICE DEPARTMENT) 155966.02 \n",
+ "2 CAPTAIN III (POLICE DEPARTMENT) 212739.13 \n",
+ "3 WIRE ROPE CABLE MAINTENANCE MECHANIC 77916.00 \n",
+ "4 DEPUTY CHIEF OF DEPARTMENT,(FIRE DEPARTMENT) 134401.60 \n",
+ "... ... ... \n",
+ "148649 Custodian 0.00 \n",
+ "148650 Not provided NaN \n",
+ "148651 Not provided NaN \n",
+ "148652 Not provided NaN \n",
+ "148653 Counselor, Log Cabin Ranch 0.00 \n",
+ "\n",
+ " OvertimePay OtherPay Benefits TotalPay TotalPayBenefits Year \\\n",
+ "0 0.00 400184.25 NaN 567595.43 567595.43 2011 \n",
+ "1 245131.88 137811.38 NaN 538909.28 538909.28 2011 \n",
+ "2 106088.18 16452.60 NaN 335279.91 335279.91 2011 \n",
+ "3 56120.71 198306.90 NaN 332343.61 332343.61 2011 \n",
+ "4 9737.00 182234.59 NaN 326373.19 326373.19 2011 \n",
+ "... ... ... ... ... ... ... \n",
+ "148649 0.00 0.00 0.0 0.00 0.00 2014 \n",
+ "148650 NaN NaN NaN 0.00 0.00 2014 \n",
+ "148651 NaN NaN NaN 0.00 0.00 2014 \n",
+ "148652 NaN NaN NaN 0.00 0.00 2014 \n",
+ "148653 0.00 -618.13 0.0 -618.13 -618.13 2014 \n",
+ "\n",
+ " Notes Agency Status \n",
+ "0 NaN San Francisco NaN \n",
+ "1 NaN San Francisco NaN \n",
+ "2 NaN San Francisco NaN \n",
+ "3 NaN San Francisco NaN \n",
+ "4 NaN San Francisco NaN \n",
+ "... ... ... ... \n",
+ "148649 NaN San Francisco NaN \n",
+ "148650 NaN San Francisco NaN \n",
+ "148651 NaN San Francisco NaN \n",
+ "148652 NaN San Francisco NaN \n",
+ "148653 NaN San Francisco NaN \n",
+ "\n",
+ "[148654 rows x 13 columns]"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df=pd.read_csv(\"Salaries.csv\")\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display the column names"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['Id', 'EmployeeName', 'JobTitle', 'BasePay', 'OvertimePay', 'OtherPay',\n",
+ " 'Benefits', 'TotalPay', 'TotalPayBenefits', 'Year', 'Notes', 'Agency',\n",
+ " 'Status'],\n",
+ " dtype='object')"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.columns"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display the number of rows and cols"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(148654, 13)"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.shape"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display the dataframe info (types of data in columns and not null values etc.)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.info"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display stats of the dataframe like count, mean, std, max, 25% etc....."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Id | \n",
+ " BasePay | \n",
+ " OvertimePay | \n",
+ " OtherPay | \n",
+ " Benefits | \n",
+ " TotalPay | \n",
+ " TotalPayBenefits | \n",
+ " Year | \n",
+ " Notes | \n",
+ " Status | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | count | \n",
+ " 148654.000000 | \n",
+ " 148045.000000 | \n",
+ " 148650.000000 | \n",
+ " 148650.000000 | \n",
+ " 112491.000000 | \n",
+ " 148654.000000 | \n",
+ " 148654.000000 | \n",
+ " 148654.000000 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | mean | \n",
+ " 74327.500000 | \n",
+ " 66325.448840 | \n",
+ " 5066.059886 | \n",
+ " 3648.767297 | \n",
+ " 25007.893151 | \n",
+ " 74768.321972 | \n",
+ " 93692.554811 | \n",
+ " 2012.522643 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | std | \n",
+ " 42912.857795 | \n",
+ " 42764.635495 | \n",
+ " 11454.380559 | \n",
+ " 8056.601866 | \n",
+ " 15402.215858 | \n",
+ " 50517.005274 | \n",
+ " 62793.533483 | \n",
+ " 1.117538 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | min | \n",
+ " 1.000000 | \n",
+ " -166.010000 | \n",
+ " -0.010000 | \n",
+ " -7058.590000 | \n",
+ " -33.890000 | \n",
+ " -618.130000 | \n",
+ " -618.130000 | \n",
+ " 2011.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 25% | \n",
+ " 37164.250000 | \n",
+ " 33588.200000 | \n",
+ " 0.000000 | \n",
+ " 0.000000 | \n",
+ " 11535.395000 | \n",
+ " 36168.995000 | \n",
+ " 44065.650000 | \n",
+ " 2012.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 50% | \n",
+ " 74327.500000 | \n",
+ " 65007.450000 | \n",
+ " 0.000000 | \n",
+ " 811.270000 | \n",
+ " 28628.620000 | \n",
+ " 71426.610000 | \n",
+ " 92404.090000 | \n",
+ " 2013.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 75% | \n",
+ " 111490.750000 | \n",
+ " 94691.050000 | \n",
+ " 4658.175000 | \n",
+ " 4236.065000 | \n",
+ " 35566.855000 | \n",
+ " 105839.135000 | \n",
+ " 132876.450000 | \n",
+ " 2014.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | max | \n",
+ " 148654.000000 | \n",
+ " 319275.010000 | \n",
+ " 245131.880000 | \n",
+ " 400184.250000 | \n",
+ " 96570.660000 | \n",
+ " 567595.430000 | \n",
+ " 567595.430000 | \n",
+ " 2014.000000 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Id BasePay OvertimePay OtherPay \\\n",
+ "count 148654.000000 148045.000000 148650.000000 148650.000000 \n",
+ "mean 74327.500000 66325.448840 5066.059886 3648.767297 \n",
+ "std 42912.857795 42764.635495 11454.380559 8056.601866 \n",
+ "min 1.000000 -166.010000 -0.010000 -7058.590000 \n",
+ "25% 37164.250000 33588.200000 0.000000 0.000000 \n",
+ "50% 74327.500000 65007.450000 0.000000 811.270000 \n",
+ "75% 111490.750000 94691.050000 4658.175000 4236.065000 \n",
+ "max 148654.000000 319275.010000 245131.880000 400184.250000 \n",
+ "\n",
+ " Benefits TotalPay TotalPayBenefits Year Notes \\\n",
+ "count 112491.000000 148654.000000 148654.000000 148654.000000 0.0 \n",
+ "mean 25007.893151 74768.321972 93692.554811 2012.522643 NaN \n",
+ "std 15402.215858 50517.005274 62793.533483 1.117538 NaN \n",
+ "min -33.890000 -618.130000 -618.130000 2011.000000 NaN \n",
+ "25% 11535.395000 36168.995000 44065.650000 2012.000000 NaN \n",
+ "50% 28628.620000 71426.610000 92404.090000 2013.000000 NaN \n",
+ "75% 35566.855000 105839.135000 132876.450000 2014.000000 NaN \n",
+ "max 96570.660000 567595.430000 567595.430000 2014.000000 NaN \n",
+ "\n",
+ " Status \n",
+ "count 0.0 \n",
+ "mean NaN \n",
+ "std NaN \n",
+ "min NaN \n",
+ "25% NaN \n",
+ "50% NaN \n",
+ "75% NaN \n",
+ "max NaN "
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.describe()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display null values per column"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Id 0\n",
+ "EmployeeName 0\n",
+ "JobTitle 0\n",
+ "BasePay 609\n",
+ "OvertimePay 4\n",
+ "OtherPay 4\n",
+ "Benefits 36163\n",
+ "TotalPay 0\n",
+ "TotalPayBenefits 0\n",
+ "Year 0\n",
+ "Notes 148654\n",
+ "Agency 0\n",
+ "Status 148654\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.isnull().sum()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "remove columns will all values as NaN"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Id 0\n",
+ "EmployeeName 0\n",
+ "JobTitle 0\n",
+ "BasePay 609\n",
+ "OvertimePay 4\n",
+ "OtherPay 4\n",
+ "Benefits 36163\n",
+ "TotalPay 0\n",
+ "TotalPayBenefits 0\n",
+ "Year 0\n",
+ "Agency 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.drop(['Notes','Status'], axis = 1,inplace=True) \n",
+ "df.isnull().sum()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display number of unique values in each column"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Id 148654\n",
+ "EmployeeName 110811\n",
+ "JobTitle 2159\n",
+ "BasePay 109489\n",
+ "OvertimePay 65998\n",
+ "OtherPay 83225\n",
+ "Benefits 98465\n",
+ "TotalPay 138486\n",
+ "TotalPayBenefits 142098\n",
+ "Year 4\n",
+ "Agency 1\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "uniqueValues = df.nunique()\n",
+ "uniqueValues"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "mean of total pay of all people based on year"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\user\\Anaconda3\\envs\\Cognifront\\lib\\site-packages\\ipykernel_launcher.py:2: FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated, use a list instead.\n",
+ " \n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " | \n",
+ " TotalPay | \n",
+ "
\n",
+ " \n",
+ " | EmployeeName | \n",
+ " Year | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | A BERNARD FATOOH | \n",
+ " 2011 | \n",
+ " 20039.91 | \n",
+ "
\n",
+ " \n",
+ " | A Bernard Fatooh | \n",
+ " 2013 | \n",
+ " 23923.62 | \n",
+ "
\n",
+ " \n",
+ " | A Bernard Fatooh | \n",
+ " 2012 | \n",
+ " 18500.19 | \n",
+ "
\n",
+ " \n",
+ " | 2014 | \n",
+ " 24061.35 | \n",
+ "
\n",
+ " \n",
+ " | A ELIZABETH MARCHASIN | \n",
+ " 2011 | \n",
+ " 26282.86 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | Zuna T Luu | \n",
+ " 2013 | \n",
+ " 56155.44 | \n",
+ "
\n",
+ " \n",
+ " | 2014 | \n",
+ " 56087.91 | \n",
+ "
\n",
+ " \n",
+ " | Zuri Jones | \n",
+ " 2013 | \n",
+ " 71986.90 | \n",
+ "
\n",
+ " \n",
+ " | Zuri Jones | \n",
+ " 2012 | \n",
+ " 86588.52 | \n",
+ "
\n",
+ " \n",
+ " | 2014 | \n",
+ " 66667.54 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
141061 rows × 1 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " TotalPay\n",
+ "EmployeeName Year \n",
+ "A BERNARD FATOOH 2011 20039.91\n",
+ "A Bernard Fatooh 2013 23923.62\n",
+ "A Bernard Fatooh 2012 18500.19\n",
+ " 2014 24061.35\n",
+ "A ELIZABETH MARCHASIN 2011 26282.86\n",
+ "... ...\n",
+ "Zuna T Luu 2013 56155.44\n",
+ " 2014 56087.91\n",
+ "Zuri Jones 2013 71986.90\n",
+ "Zuri Jones 2012 86588.52\n",
+ " 2014 66667.54\n",
+ "\n",
+ "[141061 rows x 1 columns]"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "g1 = df.groupby( ['EmployeeName','Year'] )\n",
+ "g1['EmployeeName','TotalPay'].mean()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "how many people have 0 overtime pay"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "77321"
+ ]
+ },
+ "execution_count": 48,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "\"\"\"((df['OvertimePay']==0))\n",
+ "cnt = df.apply(lambda x: True if x['OvertimePay'] ==0 else False , axis=1)\n",
+ "numOfRows = len(cnt[cnt == True].index)\n",
+ "print(\"No of People having 0 overtime pay : \",numOfRows)\"\"\"\n",
+ "df1=df[df.OvertimePay == 0].reset_index(drop=True)\n",
+ "df1['EmployeeName'].count()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "max, min, mean, median and other stats of TotalPay of people having 0 OvertimePay"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Id | \n",
+ " BasePay | \n",
+ " OvertimePay | \n",
+ " OtherPay | \n",
+ " Benefits | \n",
+ " TotalPay | \n",
+ " TotalPayBenefits | \n",
+ " Year | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | count | \n",
+ " 77321.000000 | \n",
+ " 76720.000000 | \n",
+ " 77321.0 | \n",
+ " 77321.000000 | \n",
+ " 58342.000000 | \n",
+ " 77321.000000 | \n",
+ " 77321.000000 | \n",
+ " 77321.000000 | \n",
+ "
\n",
+ " \n",
+ " | mean | \n",
+ " 77093.868897 | \n",
+ " 59052.468386 | \n",
+ " 0.0 | \n",
+ " 1635.883031 | \n",
+ " 21193.423915 | \n",
+ " 60229.348901 | \n",
+ " 76220.693271 | \n",
+ " 2012.513237 | \n",
+ "
\n",
+ " \n",
+ " | std | \n",
+ " 42958.288642 | \n",
+ " 47958.028112 | \n",
+ " 0.0 | \n",
+ " 6284.754666 | \n",
+ " 17468.225890 | \n",
+ " 49307.912350 | \n",
+ " 63310.245056 | \n",
+ " 1.115316 | \n",
+ "
\n",
+ " \n",
+ " | min | \n",
+ " 1.000000 | \n",
+ " 0.000000 | \n",
+ " 0.0 | \n",
+ " -7058.590000 | \n",
+ " -33.890000 | \n",
+ " -618.130000 | \n",
+ " -618.130000 | \n",
+ " 2011.000000 | \n",
+ "
\n",
+ " \n",
+ " | 25% | \n",
+ " 36919.000000 | \n",
+ " 12999.755000 | \n",
+ " 0.0 | \n",
+ " 0.000000 | \n",
+ " 1202.945000 | \n",
+ " 13290.450000 | \n",
+ " 14463.370000 | \n",
+ " 2012.000000 | \n",
+ "
\n",
+ " \n",
+ " | 50% | \n",
+ " 74157.000000 | \n",
+ " 57273.055000 | \n",
+ " 0.0 | \n",
+ " 50.000000 | \n",
+ " 25547.840000 | \n",
+ " 58158.590000 | \n",
+ " 73155.890000 | \n",
+ " 2013.000000 | \n",
+ "
\n",
+ " \n",
+ " | 75% | \n",
+ " 110772.000000 | \n",
+ " 89826.697500 | \n",
+ " 0.0 | \n",
+ " 1065.010000 | \n",
+ " 33957.787500 | \n",
+ " 91115.090000 | \n",
+ " 117157.260000 | \n",
+ " 2014.000000 | \n",
+ "
\n",
+ " \n",
+ " | max | \n",
+ " 148654.000000 | \n",
+ " 319275.010000 | \n",
+ " 0.0 | \n",
+ " 400184.250000 | \n",
+ " 96570.660000 | \n",
+ " 567595.430000 | \n",
+ " 567595.430000 | \n",
+ " 2014.000000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Id BasePay OvertimePay OtherPay Benefits \\\n",
+ "count 77321.000000 76720.000000 77321.0 77321.000000 58342.000000 \n",
+ "mean 77093.868897 59052.468386 0.0 1635.883031 21193.423915 \n",
+ "std 42958.288642 47958.028112 0.0 6284.754666 17468.225890 \n",
+ "min 1.000000 0.000000 0.0 -7058.590000 -33.890000 \n",
+ "25% 36919.000000 12999.755000 0.0 0.000000 1202.945000 \n",
+ "50% 74157.000000 57273.055000 0.0 50.000000 25547.840000 \n",
+ "75% 110772.000000 89826.697500 0.0 1065.010000 33957.787500 \n",
+ "max 148654.000000 319275.010000 0.0 400184.250000 96570.660000 \n",
+ "\n",
+ " TotalPay TotalPayBenefits Year \n",
+ "count 77321.000000 77321.000000 77321.000000 \n",
+ "mean 60229.348901 76220.693271 2012.513237 \n",
+ "std 49307.912350 63310.245056 1.115316 \n",
+ "min -618.130000 -618.130000 2011.000000 \n",
+ "25% 13290.450000 14463.370000 2012.000000 \n",
+ "50% 58158.590000 73155.890000 2013.000000 \n",
+ "75% 91115.090000 117157.260000 2014.000000 \n",
+ "max 567595.430000 567595.430000 2014.000000 "
+ ]
+ },
+ "execution_count": 56,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1.describe()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "find Id of that person with max TotalPay you got in previous question"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1"
+ ]
+ },
+ "execution_count": 69,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "highest_paid = df1.loc[df1['TotalPay'].idxmax()]\n",
+ "highest_paid['Id']"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "name of employee with total pay benefits = 87619.78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 73,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " EmployeeName | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 12345 | \n",
+ " REBECCA CHIU | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " EmployeeName\n",
+ "12345 REBECCA CHIU"
+ ]
+ },
+ "execution_count": 73,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2=df[df.TotalPayBenefits == 87619.78]\n",
+ "df2[['EmployeeName']]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "how many people have BasePay > 150000 and OvertimePay > 100000"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 87,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "12"
+ ]
+ },
+ "execution_count": 87,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3=df[df.OvertimePay > 100000 ]\n",
+ "df3=df3[df3['BasePay'] > 150000 ]\n",
+ "df3['EmployeeName'].count()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "which job title generally has highest average TotalPayBenefits"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 96,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'GENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY'"
+ ]
+ },
+ "execution_count": 96,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "job = df.loc[df['TotalPayBenefits'].idxmax()]\n",
+ "job['JobTitle']"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "How many employees are POLICE"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 102,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def chief_string(title):\n",
+ " if 'POLICE' in title.split():\n",
+ " return True\n",
+ " else:\n",
+ " return False\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 103,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1845"
+ ]
+ },
+ "execution_count": 103,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "sum(df['JobTitle'].apply(lambda x:chief_string(x)))"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}