diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..4b16f59
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,12 @@
+# These are supported funding model platforms
+
+github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
+patreon: # Replace with a single Patreon username
+open_collective: # Replace with a single Open Collective username
+ko_fi: # Replace with a single Ko-fi username
+tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
+community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
+liberapay: # Replace with a single Liberapay username
+issuehunt: # Replace with a single IssueHunt username
+otechie: # Replace with a single Otechie username
+custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/Assignment/Assignment1 Numpy Solution.ipynb b/Assignment/Assignment1 Numpy Solution.ipynb
new file mode 100644
index 0000000..77853a7
--- /dev/null
+++ b/Assignment/Assignment1 Numpy Solution.ipynb
@@ -0,0 +1,394 @@
+{
+ "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": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([1, 2, 3, 4, 5])"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "a=[1,2,3,4,5]\n",
+ "np.array(a)"
+ ]
+ },
+ {
+ "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": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[1, 2, 3],\n",
+ " [4, 5, 6],\n",
+ " [7, 8, 9]])"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "np.array( [[1,2,3],[4,5,6],[7,8,9]])"
+ ]
+ },
+ {
+ "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": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[ 1, 3, 5],\n",
+ " [ 7, 9, 11],\n",
+ " [13, 15, 17]])"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "np.arange(1,18,2).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": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([5.21123512, 3.42271411, 8.41863607, 9.05091877, 0.87481072,\n",
+ " 9.42826073, 4.98176773, 9.20505637, 5.70994345, 1.70182866])"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "np.random.rand(10)*10"
+ ]
+ },
+ {
+ "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": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[1],\n",
+ " [2],\n",
+ " [3],\n",
+ " [4],\n",
+ " [5]])"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "b=np.array([1,2,3,4,5]).reshape(5,1)\n",
+ "b"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Print the shape of the above created array"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(5, 1)"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "b.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": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "c=np.arange(10)\n",
+ "c"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2 3 8\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(c[2], c[3], c[8])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Print alternate elements of that array"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([0, 2, 4, 6, 8])"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "c[::2]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Change last 3 elements into 100 using broadcasting and print"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([ 0, 1, 2, 3, 4, 5, 6, 100, 100, 100])"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "c[-3:]=100\n",
+ "c"
+ ]
+ },
+ {
+ "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": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[ 0, 1, 2, 3, 4],\n",
+ " [ 5, 6, 7, 8, 9],\n",
+ " [10, 11, 12, 13, 14],\n",
+ " [15, 16, 17, 18, 19],\n",
+ " [20, 21, 22, 23, 24]])"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "d=np.arange(25).reshape(5,5)\n",
+ "d"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[ 6, 7, 8],\n",
+ " [11, 12, 13],\n",
+ " [16, 17, 18]])"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "d[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.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/Assignment/Assignment2 pandas.ipynb b/Assignment/Assignment2 pandas.ipynb
new file mode 100644
index 0000000..f382b27
--- /dev/null
+++ b/Assignment/Assignment2 pandas.ipynb
@@ -0,0 +1,263 @@
+{
+ "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": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display the column names"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display the number of rows and cols"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display the dataframe info (types of data in columns and not null values etc.)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display stats of the dataframe like count, mean, std, max, 25% etc....."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display null values per column"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "remove columns will all values as NaN"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "display number of unique values in each column"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "mean of total pay of all people based on year"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "how many people have 0 overtime pay"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "max, min, mean, median and other stats of TotalPay of people having 0 OvertimePay"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "find Id of that person with max TotalPay you got in previous question"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "name of employee with total pay benefits = 87619.78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "how many people have BasePay > 150000 and OvertimePay > 100000"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "which job title generally has highest average TotalPayBenefits"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "How many employees are POLICE"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# .str.contains()"
+ ]
+ }
+ ],
+ "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.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/Day 5 pandas.ipynb b/Day 5 pandas.ipynb
new file mode 100644
index 0000000..85c85c1
--- /dev/null
+++ b/Day 5 pandas.ipynb
@@ -0,0 +1,1083 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df2=pd.DataFrame(np.random.rand(15).reshape(5,3), columns=['col1','col2','col3'], index=['a','b','c','d','e'])\n",
+ "df2['col4']= np.arange(5)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | a | \n",
+ " 0.994700 | \n",
+ " 0.374323 | \n",
+ " 0.830171 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | b | \n",
+ " 0.650780 | \n",
+ " 0.924054 | \n",
+ " 0.834534 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | c | \n",
+ " 0.825124 | \n",
+ " 0.198440 | \n",
+ " 0.024221 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | d | \n",
+ " 0.931559 | \n",
+ " 0.076659 | \n",
+ " 0.382428 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | e | \n",
+ " 0.652708 | \n",
+ " 0.995672 | \n",
+ " 0.572294 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4\n",
+ "a 0.994700 0.374323 0.830171 0\n",
+ "b 0.650780 0.924054 0.834534 1\n",
+ "c 0.825124 0.198440 0.024221 2\n",
+ "d 0.931559 0.076659 0.382428 3\n",
+ "e 0.652708 0.995672 0.572294 4"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ " col5 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | a | \n",
+ " 0.994700 | \n",
+ " 0.374323 | \n",
+ " 0.830171 | \n",
+ " 0 | \n",
+ " 1.824871 | \n",
+ "
\n",
+ " \n",
+ " | b | \n",
+ " 0.650780 | \n",
+ " 0.924054 | \n",
+ " 0.834534 | \n",
+ " 1 | \n",
+ " 1.485314 | \n",
+ "
\n",
+ " \n",
+ " | c | \n",
+ " 0.825124 | \n",
+ " 0.198440 | \n",
+ " 0.024221 | \n",
+ " 2 | \n",
+ " 0.849345 | \n",
+ "
\n",
+ " \n",
+ " | d | \n",
+ " 0.931559 | \n",
+ " 0.076659 | \n",
+ " 0.382428 | \n",
+ " 3 | \n",
+ " 1.313987 | \n",
+ "
\n",
+ " \n",
+ " | e | \n",
+ " 0.652708 | \n",
+ " 0.995672 | \n",
+ " 0.572294 | \n",
+ " 4 | \n",
+ " 1.225002 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4 col5\n",
+ "a 0.994700 0.374323 0.830171 0 1.824871\n",
+ "b 0.650780 0.924054 0.834534 1 1.485314\n",
+ "c 0.825124 0.198440 0.024221 2 0.849345\n",
+ "d 0.931559 0.076659 0.382428 3 1.313987\n",
+ "e 0.652708 0.995672 0.572294 4 1.225002"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2['col5']= df2['col1'] + df2['col3']\n",
+ "df2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | a | \n",
+ " 0.994700 | \n",
+ " 0.374323 | \n",
+ " 0.830171 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | b | \n",
+ " 0.650780 | \n",
+ " 0.924054 | \n",
+ " 0.834534 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | c | \n",
+ " 0.825124 | \n",
+ " 0.198440 | \n",
+ " 0.024221 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | d | \n",
+ " 0.931559 | \n",
+ " 0.076659 | \n",
+ " 0.382428 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | e | \n",
+ " 0.652708 | \n",
+ " 0.995672 | \n",
+ " 0.572294 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4\n",
+ "a 0.994700 0.374323 0.830171 0\n",
+ "b 0.650780 0.924054 0.834534 1\n",
+ "c 0.825124 0.198440 0.024221 2\n",
+ "d 0.931559 0.076659 0.382428 3\n",
+ "e 0.652708 0.995672 0.572294 4"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# drop\n",
+ "df2.drop('col5', axis=1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ " col5 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | a | \n",
+ " 0.994700 | \n",
+ " 0.374323 | \n",
+ " 0.830171 | \n",
+ " 0 | \n",
+ " 1.824871 | \n",
+ "
\n",
+ " \n",
+ " | b | \n",
+ " 0.650780 | \n",
+ " 0.924054 | \n",
+ " 0.834534 | \n",
+ " 1 | \n",
+ " 1.485314 | \n",
+ "
\n",
+ " \n",
+ " | c | \n",
+ " 0.825124 | \n",
+ " 0.198440 | \n",
+ " 0.024221 | \n",
+ " 2 | \n",
+ " 0.849345 | \n",
+ "
\n",
+ " \n",
+ " | d | \n",
+ " 0.931559 | \n",
+ " 0.076659 | \n",
+ " 0.382428 | \n",
+ " 3 | \n",
+ " 1.313987 | \n",
+ "
\n",
+ " \n",
+ " | e | \n",
+ " 0.652708 | \n",
+ " 0.995672 | \n",
+ " 0.572294 | \n",
+ " 4 | \n",
+ " 1.225002 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4 col5\n",
+ "a 0.994700 0.374323 0.830171 0 1.824871\n",
+ "b 0.650780 0.924054 0.834534 1 1.485314\n",
+ "c 0.825124 0.198440 0.024221 2 0.849345\n",
+ "d 0.931559 0.076659 0.382428 3 1.313987\n",
+ "e 0.652708 0.995672 0.572294 4 1.225002"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df2.drop('col5', axis=1, inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | a | \n",
+ " 0.994700 | \n",
+ " 0.374323 | \n",
+ " 0.830171 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | b | \n",
+ " 0.650780 | \n",
+ " 0.924054 | \n",
+ " 0.834534 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | c | \n",
+ " 0.825124 | \n",
+ " 0.198440 | \n",
+ " 0.024221 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | d | \n",
+ " 0.931559 | \n",
+ " 0.076659 | \n",
+ " 0.382428 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | e | \n",
+ " 0.652708 | \n",
+ " 0.995672 | \n",
+ " 0.572294 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4\n",
+ "a 0.994700 0.374323 0.830171 0\n",
+ "b 0.650780 0.924054 0.834534 1\n",
+ "c 0.825124 0.198440 0.024221 2\n",
+ "d 0.931559 0.076659 0.382428 3\n",
+ "e 0.652708 0.995672 0.572294 4"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | a | \n",
+ " 0.994700 | \n",
+ " 0.374323 | \n",
+ " 0.830171 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | b | \n",
+ " 0.650780 | \n",
+ " 0.924054 | \n",
+ " 0.834534 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | c | \n",
+ " 0.825124 | \n",
+ " 0.198440 | \n",
+ " 0.024221 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | d | \n",
+ " 0.931559 | \n",
+ " 0.076659 | \n",
+ " 0.382428 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4\n",
+ "a 0.994700 0.374323 0.830171 0\n",
+ "b 0.650780 0.924054 0.834534 1\n",
+ "c 0.825124 0.198440 0.024221 2\n",
+ "d 0.931559 0.076659 0.382428 3"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# drooping a row\n",
+ "df2.drop('e')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | a | \n",
+ " 0.994700 | \n",
+ " 0.374323 | \n",
+ " 0.830171 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | b | \n",
+ " 0.650780 | \n",
+ " 0.924054 | \n",
+ " 0.834534 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | c | \n",
+ " 0.825124 | \n",
+ " 0.198440 | \n",
+ " 0.024221 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | d | \n",
+ " 0.931559 | \n",
+ " 0.076659 | \n",
+ " 0.382428 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4\n",
+ "a 0.994700 0.374323 0.830171 0\n",
+ "b 0.650780 0.924054 0.834534 1\n",
+ "c 0.825124 0.198440 0.024221 2\n",
+ "d 0.931559 0.076659 0.382428 3"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# drop rows based on conditions\n",
+ "df2.drop(df2[df2['col4'] > 3].index)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['e'], dtype='object')"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2[df2['col4']>3].index"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | a | \n",
+ " 0.994700 | \n",
+ " 0.374323 | \n",
+ " 0.830171 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | d | \n",
+ " 0.931559 | \n",
+ " 0.076659 | \n",
+ " 0.382428 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4\n",
+ "a 0.994700 0.374323 0.830171 0\n",
+ "d 0.931559 0.076659 0.382428 3"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2.drop(df2[(df2['col4']>3) | (df2['col1']<0.9)].index)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Multi-Index"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "MultiIndex(levels=[['Task1', 'Task2'], ['Lucky', 'Ram']],\n",
+ " labels=[[0, 0, 1, 1], [1, 0, 1, 0]])"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "outer=['Task1','Task1','Task2','Task2']\n",
+ "inner=['Ram','Lucky','Ram','Lucky']\n",
+ "multiIndex= pd.MultiIndex.from_tuples(list(zip(outer, inner)))\n",
+ "multiIndex"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " | \n",
+ " level1 | \n",
+ " level2 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Task1 | \n",
+ " Ram | \n",
+ " 0.176130 | \n",
+ " 0.080082 | \n",
+ "
\n",
+ " \n",
+ " | Lucky | \n",
+ " 0.102994 | \n",
+ " 0.235086 | \n",
+ "
\n",
+ " \n",
+ " | Task2 | \n",
+ " Ram | \n",
+ " 0.846569 | \n",
+ " 0.390396 | \n",
+ "
\n",
+ " \n",
+ " | Lucky | \n",
+ " 0.464271 | \n",
+ " 0.384739 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " level1 level2\n",
+ "Task1 Ram 0.176130 0.080082\n",
+ " Lucky 0.102994 0.235086\n",
+ "Task2 Ram 0.846569 0.390396\n",
+ " Lucky 0.464271 0.384739"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3= pd.DataFrame(np.random.rand(4,2), index=multiIndex, columns=['level1','level2'])\n",
+ "df3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " level1 | \n",
+ " level2 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Ram | \n",
+ " 0.176130 | \n",
+ " 0.080082 | \n",
+ "
\n",
+ " \n",
+ " | Lucky | \n",
+ " 0.102994 | \n",
+ " 0.235086 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " level1 level2\n",
+ "Ram 0.176130 0.080082\n",
+ "Lucky 0.102994 0.235086"
+ ]
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3.loc['Task1']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "level1 0.102994\n",
+ "level2 0.235086\n",
+ "Name: Lucky, dtype: float64"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3.loc['Task1'].loc['Lucky']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Ram 0.080082\n",
+ "Lucky 0.235086\n",
+ "Name: level2, dtype: float64"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3.loc['Task1','level2']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Task1 Ram 0.080082\n",
+ " Lucky 0.235086\n",
+ "Task2 Ram 0.390396\n",
+ " Lucky 0.384739\n",
+ "Name: level2, dtype: float64"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3.loc[['Task1','Task2'], 'level2']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "level1 0.176130\n",
+ "level2 0.080082\n",
+ "Name: (Task1, Ram), dtype: float64"
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3.loc[('Task1','Ram')]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0.1761304116915441"
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3.loc[('Task1','Ram'),'level1']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Task1 Ram 0.080082\n",
+ "Task2 Lucky 0.384739\n",
+ "Name: level2, dtype: float64"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3.loc[[('Task1','Ram'), ('Task2','Lucky')],'level2']"
+ ]
+ },
+ {
+ "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.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/Day 6 Pandas.ipynb b/Day 6 Pandas.ipynb
new file mode 100644
index 0000000..4f3cfea
--- /dev/null
+++ b/Day 6 Pandas.ipynb
@@ -0,0 +1,1474 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " a | \n",
+ " 10 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " b | \n",
+ " 20 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " c | \n",
+ " 30 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " d | \n",
+ " 40 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 a 10 1\n",
+ "1 b 20 2\n",
+ "2 c 30 1\n",
+ "3 d 40 1"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import pandas as pd\n",
+ "df = pd.DataFrame({'col1':['a','b','c','d'],'col2':[10,20,30,40],'col3':[1,2,1,1]})\n",
+ "df.head()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Handy DataFrame Operations"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(4, 3)"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " a | \n",
+ " 10 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " b | \n",
+ " 20 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " c | \n",
+ " 30 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " d | \n",
+ " 40 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 a 10 1\n",
+ "1 b 20 2\n",
+ "2 c 30 1\n",
+ "3 d 40 1"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "RangeIndex: 4 entries, 0 to 3\n",
+ "Data columns (total 3 columns):\n",
+ "col1 4 non-null object\n",
+ "col2 4 non-null int64\n",
+ "col3 4 non-null int64\n",
+ "dtypes: int64(2), object(1)\n",
+ "memory usage: 176.0+ bytes\n"
+ ]
+ }
+ ],
+ "source": [
+ "df.info()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | count | \n",
+ " 4.000000 | \n",
+ " 4.00 | \n",
+ "
\n",
+ " \n",
+ " | mean | \n",
+ " 25.000000 | \n",
+ " 1.25 | \n",
+ "
\n",
+ " \n",
+ " | std | \n",
+ " 12.909944 | \n",
+ " 0.50 | \n",
+ "
\n",
+ " \n",
+ " | min | \n",
+ " 10.000000 | \n",
+ " 1.00 | \n",
+ "
\n",
+ " \n",
+ " | 25% | \n",
+ " 17.500000 | \n",
+ " 1.00 | \n",
+ "
\n",
+ " \n",
+ " | 50% | \n",
+ " 25.000000 | \n",
+ " 1.00 | \n",
+ "
\n",
+ " \n",
+ " | 75% | \n",
+ " 32.500000 | \n",
+ " 1.25 | \n",
+ "
\n",
+ " \n",
+ " | max | \n",
+ " 40.000000 | \n",
+ " 2.00 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col2 col3\n",
+ "count 4.000000 4.00\n",
+ "mean 25.000000 1.25\n",
+ "std 12.909944 0.50\n",
+ "min 10.000000 1.00\n",
+ "25% 17.500000 1.00\n",
+ "50% 25.000000 1.00\n",
+ "75% 32.500000 1.25\n",
+ "max 40.000000 2.00"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.describe()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([1, 2], dtype=int64)"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['col3'].unique()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "2"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['col3'].nunique()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1 3\n",
+ "2 1\n",
+ "Name: col3, dtype: int64"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['col3'].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['col1', 'col2', 'col3'], dtype='object')"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "RangeIndex(start=0, stop=4, step=1)"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.index"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Sorting"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " a | \n",
+ " 10 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " c | \n",
+ " 30 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " d | \n",
+ " 40 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " b | \n",
+ " 20 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 a 10 1\n",
+ "2 c 30 1\n",
+ "3 d 40 1\n",
+ "1 b 20 2"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.sort_values(by='col3')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "TypeError",
+ "evalue": "sort_values() missing 1 required positional argument: 'by'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msort_values\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+ "\u001b[1;31mTypeError\u001b[0m: sort_values() missing 1 required positional argument: 'by'"
+ ]
+ }
+ ],
+ "source": [
+ "df.sort_values()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " b | \n",
+ " 20 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 0 | \n",
+ " a | \n",
+ " 10 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " c | \n",
+ " 30 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " d | \n",
+ " 40 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "1 b 20 2\n",
+ "0 a 10 1\n",
+ "2 c 30 1\n",
+ "3 d 40 1"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.sort_values(by='col3', ascending=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 1\n",
+ "2 1\n",
+ "3 1\n",
+ "1 2\n",
+ "Name: col3, dtype: int64"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['col3'].sort_values()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## apply()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def add(x):\n",
+ " return x+2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 12\n",
+ "1 22\n",
+ "2 32\n",
+ "3 42\n",
+ "Name: col2, dtype: int64"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['col2'].apply(lambda x:x+2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 10\n",
+ "1 20\n",
+ "2 30\n",
+ "3 40\n",
+ "Name: col2, dtype: int64"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['col2']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "100"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['col2'].sum()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "100"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['col2'].apply('sum')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "25.0"
+ ]
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['col2'].apply('mean')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 a.?\n",
+ "1 b.?\n",
+ "2 c.?\n",
+ "3 d.?\n",
+ "Name: col1, dtype: object"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "def rename(x):\n",
+ " return x+'.?'\n",
+ "df['col1'].apply(rename)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " lat | \n",
+ " long | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 22°35' | \n",
+ " 82°35' | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 25°55' | \n",
+ " 85°55' | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " lat long\n",
+ "0 22°35' 82°35'\n",
+ "1 25°55' 85°55'"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2=pd.DataFrame({'lat':[\"22°35'\",\"25°55'\"],'long':[\"82°35'\",\"85°55'\"]})\n",
+ "df2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 22.583333\n",
+ "1 25.916667\n",
+ "Name: lat, dtype: float64"
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "def deg(x):\n",
+ " degree= float(x.split(\"°\")[0])\n",
+ " minute= float(x.split(\"°\")[1][:-1])\n",
+ " total= degree+ (minute/60)\n",
+ " return total\n",
+ "\n",
+ "df2['lat'].apply(deg)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 82.583333\n",
+ "1 85.916667\n",
+ "Name: long, dtype: float64"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2['long'].apply(deg)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Missing values"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1.0 | \n",
+ " NaN | \n",
+ " 7.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 8.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3.0 | \n",
+ " 6.0 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10.0 | \n",
+ " 11.0 | \n",
+ " 12.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c\n",
+ "0 1.0 NaN 7.0\n",
+ "1 NaN NaN 8.0\n",
+ "2 3.0 6.0 NaN\n",
+ "3 10.0 11.0 12.0"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df=pd.DataFrame({'a':[1, np.nan, 3,10], 'b':[np.nan,np.nan,6,11], 'c':[7,8,np.nan,12]})\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " False | \n",
+ " True | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " True | \n",
+ " True | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " False | \n",
+ " False | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c\n",
+ "0 False True False\n",
+ "1 True True False\n",
+ "2 False False True\n",
+ "3 False False False"
+ ]
+ },
+ "execution_count": 42,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.isnull()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "a 1\n",
+ "b 2\n",
+ "c 1\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 43,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.isnull().sum()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 1\n",
+ "1 2\n",
+ "2 1\n",
+ "3 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 44,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.isnull().sum(axis=1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# dropna"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 3 | \n",
+ " 10.0 | \n",
+ " 11.0 | \n",
+ " 12.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c\n",
+ "3 10.0 11.0 12.0"
+ ]
+ },
+ "execution_count": 46,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.dropna()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: []\n",
+ "Index: [0, 1, 2, 3]"
+ ]
+ },
+ "execution_count": 47,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.dropna(axis=1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1.0 | \n",
+ " NaN | \n",
+ " 7.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3.0 | \n",
+ " 6.0 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10.0 | \n",
+ " 11.0 | \n",
+ " 12.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c\n",
+ "0 1.0 NaN 7.0\n",
+ "2 3.0 6.0 NaN\n",
+ "3 10.0 11.0 12.0"
+ ]
+ },
+ "execution_count": 48,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.dropna(thresh=2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1.0 | \n",
+ " NaN | \n",
+ " 7.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 8.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3.0 | \n",
+ " 6.0 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10.0 | \n",
+ " 11.0 | \n",
+ " 12.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c\n",
+ "0 1.0 NaN 7.0\n",
+ "1 NaN NaN 8.0\n",
+ "2 3.0 6.0 NaN\n",
+ "3 10.0 11.0 12.0"
+ ]
+ },
+ "execution_count": 49,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 3 | \n",
+ " 10.0 | \n",
+ " 11.0 | \n",
+ " 12.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c\n",
+ "3 10.0 11.0 12.0"
+ ]
+ },
+ "execution_count": 50,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.dropna(thresh=3)"
+ ]
+ },
+ {
+ "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.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/Day 7 Pandas.ipynb b/Day 7 Pandas.ipynb
new file mode 100644
index 0000000..7bf8c4e
--- /dev/null
+++ b/Day 7 Pandas.ipynb
@@ -0,0 +1,1715 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Groupby"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Group | \n",
+ " Score | \n",
+ " Gender | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Ram | \n",
+ " 1 | \n",
+ " 20 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Sam | \n",
+ " 2 | \n",
+ " 40 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Hari | \n",
+ " 1 | \n",
+ " 35 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Lucky | \n",
+ " 3 | \n",
+ " 11 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Sita | \n",
+ " 2 | \n",
+ " 54 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Group Score Gender\n",
+ "0 Ram 1 20 1\n",
+ "1 Sam 2 40 1\n",
+ "2 Hari 1 35 1\n",
+ "3 Lucky 3 11 1\n",
+ "4 Sita 2 54 0"
+ ]
+ },
+ "execution_count": 51,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df= pd.DataFrame({'Name':['Ram','Sam','Hari','Lucky','Sita'],\n",
+ " 'Group':[1,2,1,3,2],'Score': [20,40,35,11,54], 'Gender':[1,1,1,1,0]})\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.groupby('Group')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Score | \n",
+ " Gender | \n",
+ "
\n",
+ " \n",
+ " | Group | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " 27.5 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 47.0 | \n",
+ " 0.5 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Score Gender\n",
+ "Group \n",
+ "1 27.5 1.0\n",
+ "2 47.0 0.5\n",
+ "3 11.0 1.0"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.groupby('Group').mean()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Group | \n",
+ " Score | \n",
+ "
\n",
+ " \n",
+ " | Gender | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2.00 | \n",
+ " 54.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 1.75 | \n",
+ " 26.5 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Group Score\n",
+ "Gender \n",
+ "0 2.00 54.0\n",
+ "1 1.75 26.5"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.groupby('Gender').mean()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "a=df.groupby('Group').mean()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Score | \n",
+ " Gender | \n",
+ "
\n",
+ " \n",
+ " | Group | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " 27.5 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 47.0 | \n",
+ " 0.5 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Score Gender\n",
+ "Group \n",
+ "1 27.5 1.0\n",
+ "2 47.0 0.5\n",
+ "3 11.0 1.0"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "a"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Group\n",
+ "1 27.5\n",
+ "2 47.0\n",
+ "3 11.0\n",
+ "Name: Score, dtype: float64"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "a['Score']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Score | \n",
+ "
\n",
+ " \n",
+ " | Group | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " 27.5 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 47.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Score\n",
+ "Group \n",
+ "1 27.5\n",
+ "2 47.0\n",
+ "3 11.0"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "a[['Score']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAADGNJREFUeJzt3W2IpfV5x/HvL7trE7DUJDtJF9dmLEiJLY3aRbYIJWgCNhYVasFQ0rVYFvpADS2027xoSekLfZOEPkDYVum2hKiYUK0mFGuUUGg3HY0m2m2qEdsuSnbyoEZaUja9+mJum2Wc8dxn5szMnivfDwxzHu4zc/251++cuefcx1QVkqT594adHkCSNBsGXZKaMOiS1IRBl6QmDLokNWHQJakJgy5JTRh0SWrCoEtSE7u385vt3bu3FhcXt/NbStLce/TRR79eVQuTttvWoC8uLrK0tLSd31KS5l6Sfx+znYdcJKkJgy5JTRh0SWrCoEtSEwZdkpow6JLUhEGXpCYMuiQ1YdAlqYltPVNU318Wjzyw0yO09dyt1+z0CDoL+Qxdkpow6JLUhEGXpCYMuiQ1YdAlqQmDLklNGHRJasKgS1ITBl2SmjDoktSEQZekJgy6JDVh0CWpCYMuSU0YdElqwqBLUhMGXZKaMOiS1IRBl6QmDLokNWHQJakJgy5JTRh0SWrCoEtSEwZdkpow6JLUxOigJ9mV5ItJ7h+uX5jkeJKnk9yV5JytG1OSNMk0z9BvAU6ccf024KNVdRHwLeDmWQ4mSZrOqKAn2Q9cA/zFcD3AlcA9wybHgOu3YkBJ0jhjn6F/DPgd4H+H628FXqyq08P1k8D5M55NkjSFiUFP8nPAqap69Myb19i01nn84SRLSZaWl5c3OKYkaZIxz9CvAK5N8hxwJyuHWj4GnJdk97DNfuD5tR5cVUer6kBVHVhYWJjByJKktUwMelX9XlXtr6pF4Ebgc1X1i8DDwA3DZoeAe7dsSknSRJt5HfrvAr+V5BlWjqnfPpuRJEkbsXvyJt9TVY8AjwyXnwUun/1IkqSN8ExRSWrCoEtSEwZdkpow6JLUhEGXpCYMuiQ1YdAlqQmDLklNGHRJasKgS1ITBl2SmjDoktSEQZekJgy6JDVh0CWpCYMuSU0YdElqwqBLUhMGXZKaMOiS1IRBl6QmDLokNWHQJakJgy5JTRh0SWrCoEtSEwZdkpow6JLUhEGXpCYMuiQ1YdAlqQmDLklNGHRJasKgS1ITBl2SmpgY9CRvTPKFJE8keSrJh4fbL0xyPMnTSe5Kcs7WjytJWs+YZ+jfAa6sqncBlwBXJzkI3AZ8tKouAr4F3Lx1Y0qSJpkY9FrxynB1z/BRwJXAPcPtx4Drt2RCSdIoo46hJ9mV5HHgFPAg8FXgxao6PWxyEjh/a0aUJI0xKuhV9d2qugTYD1wOvHOtzdZ6bJLDSZaSLC0vL298UknS65rqVS5V9SLwCHAQOC/J7uGu/cDz6zzmaFUdqKoDCwsLm5lVkvQ6xrzKZSHJecPlNwHvAU4ADwM3DJsdAu7dqiElSZPtnrwJ+4BjSXax8gPg7qq6P8m/AHcm+SPgi8DtWzinJGmCiUGvqi8Bl65x+7OsHE+XJJ0FPFNUkpow6JLUhEGXpCYMuiQ1YdAlqQmDLklNjHkd+llh8cgDOz1CW8/des1OjyBpBnyGLklNGHRJasKgS1ITBl2SmjDoktSEQZekJgy6JDVh0CWpCYMuSU0YdElqwqBLUhMGXZKaMOiS1IRBl6QmDLokNWHQJakJgy5JTRh0SWrCoEtSEwZdkpow6JLUhEGXpCYMuiQ1YdAlqQmDLklNGHRJasKgS1ITBl2SmpgY9CQXJHk4yYkkTyW5Zbj9LUkeTPL08PnNWz+uJGk9Y56hnwZ+u6reCRwEfj3JxcAR4KGqugh4aLguSdohE4NeVS9U1WPD5W8DJ4DzgeuAY8Nmx4Drt2pISdJkUx1DT7IIXAocB95eVS/ASvSBt816OEnSeKODnuRc4FPAB6vq5SkedzjJUpKl5eXljcwoSRphVNCT7GEl5p+oqk8PN38tyb7h/n3AqbUeW1VHq+pAVR1YWFiYxcySpDWMeZVLgNuBE1X1kTPuug84NFw+BNw7+/EkSWPtHrHNFcAHgC8neXy47UPArcDdSW4G/gP4ha0ZUZI0xsSgV9U/AFnn7qtmO44kaaM8U1SSmjDoktSEQZekJgy6JDVh0CWpCYMuSU0YdElqwqBLUhMGXZKaMOiS1IRBl6QmDLokNWHQJakJgy5JTRh0SWrCoEtSEwZdkpow6JLUhEGXpCYMuiQ1YdAlqQmDLklNGHRJasKgS1ITBl2SmjDoktSEQZekJgy6JDVh0CWpCYMuSU0YdElqwqBLUhMGXZKaMOiS1MTunR5A0tlh8cgDOz1CW8/des22fJ+Jz9CT3JHkVJInz7jtLUkeTPL08PnNWzumJGmSMYdc/hK4etVtR4CHquoi4KHhuiRpB00MelV9HvjmqpuvA44Nl48B1894LknSlDb6R9G3V9ULAMPnt81uJEnSRmz5q1ySHE6ylGRpeXl5q7+dJH3f2mjQv5ZkH8Dw+dR6G1bV0ao6UFUHFhYWNvjtJEmTbDTo9wGHhsuHgHtnM44kaaPGvGzxk8A/Aj+W5GSSm4FbgfcmeRp473BdkrSDJp5YVFXvX+euq2Y8iyRpEzz1X5KaMOiS1IRBl6QmDLokNWHQJakJgy5JTRh0SWrCoEtSEwZdkpow6JLUhEGXpCYMuiQ1YdAlqQmDLklNGHRJasKgS1ITBl2SmjDoktSEQZekJgy6JDVh0CWpCYMuSU0YdElqwqBLUhMGXZKaMOiS1IRBl6QmDLokNWHQJakJgy5JTRh0SWrCoEtSEwZdkpow6JLUhEGXpCY2FfQkVyf5SpJnkhyZ1VCSpOltOOhJdgF/BvwscDHw/iQXz2owSdJ0NvMM/XLgmap6tqr+B7gTuG42Y0mSprWZoJ8P/OcZ108Ot0mSdsDuTTw2a9xWr9koOQwcHq6+kuQrZ9y9F/j6JmY4m83N2nLbVJvPzbqmNFfrcp8Bc7SuGeyvd4x54GaCfhK44Izr+4HnV29UVUeBo2t9gSRLVXVgEzOctbquzXXNn65rc12vtZlDLv8MXJTkwiTnADcC923i60mSNmHDz9Cr6nSS3wD+DtgF3FFVT81sMknSVDZzyIWq+gzwmU18iTUPxTTRdW2ua/50XZvrWiVVr/k7piRpDnnqvyQ1sS1Bn/QWAUluSrKc5PHh41e2Y67NSnJHklNJnlzn/iT542HdX0py2XbPuBEj1vXuJC+dsb9+f7tn3IgkFyR5OMmJJE8luWWNbeZun41c17zuszcm+UKSJ4a1fXiNbX4gyV3DPjueZHH7J53OyHVN38Wq2tIPVv5g+lXgR4FzgCeAi1dtcxPwp1s9yxas7WeAy4An17n/fcBnWXnN/kHg+E7PPKN1vRu4f6fn3MC69gGXDZd/EPi3Nf4tzt0+G7mued1nAc4dLu8BjgMHV23za8DHh8s3Anft9NwzWtfUXdyOZ+ht3yKgqj4PfPN1NrkO+Kta8U/AeUn2bc90GzdiXXOpql6oqseGy98GTvDas5vnbp+NXNdcGvbDK8PVPcPH6j/8XQccGy7fA1yVZK0TH88aI9c1te0I+ti3CPj54Vfce5JcsMb986jz2yP89PDr4meT/PhODzOt4dfyS1l5ZnSmud5nr7MumNN9lmRXkseBU8CDVbXuPquq08BLwFu3d8rpjVgXTNnF7Qj6mLcI+Ftgsap+Evh7vvfTdt6NenuEOfQY8I6qehfwJ8Df7PA8U0lyLvAp4INV9fLqu9d4yFzsswnrmtt9VlXfrapLWDkb/fIkP7Fqk7ncZyPWNXUXtyPoE98ioKq+UVXfGa7+OfBT2zDXdhj19gjzpqpefvXXxVo5F2FPkr07PNYoSfawEr1PVNWn19hkLvfZpHXN8z57VVW9CDwCXL3qrv/fZ0l2Az/EHB0yXG9dG+nidgR94lsErDpGeS0rxwA7uA/4peGVEweBl6rqhZ0earOS/PCrxyiTXM7Kv6Nv7OxUkw0z3w6cqKqPrLPZ3O2zMeua4322kOS84fKbgPcA/7pqs/uAQ8PlG4DP1fBXxbPVmHVtpIubOlN0jFrnLQKS/CGwVFX3Ab+Z5FrgNCs/WW/a6rlmIcknWXn1wN4kJ4E/YOWPG1TVx1k5i/Z9wDPAfwG/vDOTTmfEum4AfjXJaeC/gRvP9v+ABlcAHwC+PBy7BPgQ8CMw1/tszLrmdZ/tA45l5X+o8wbg7qq6f1U/bgf+OskzrPTjxp0bd7Qx65q6i54pKklNeKaoJDVh0CWpCYMuSU0YdElqwqBLUhMGXZKaMOiS1IRBl6Qm/g/a1fqwERYMOQAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "plt.bar([1,2,3], df.groupby('Group').mean()['Score'])\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Score | \n",
+ " Gender | \n",
+ "
\n",
+ " \n",
+ " | Group | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " 27.5 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 47.0 | \n",
+ " 0.5 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11.0 | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Score Gender\n",
+ "Group \n",
+ "1 27.5 1.0\n",
+ "2 47.0 0.5\n",
+ "3 11.0 1.0"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.groupby('Group').agg('mean')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Score | \n",
+ " Gender | \n",
+ "
\n",
+ " \n",
+ " | Group | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " 10.606602 | \n",
+ " 0.000000 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 9.899495 | \n",
+ " 0.707107 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Score Gender\n",
+ "Group \n",
+ "1 10.606602 0.000000\n",
+ "2 9.899495 0.707107\n",
+ "3 NaN NaN"
+ ]
+ },
+ "execution_count": 34,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.groupby('Group').std()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Group\n",
+ "1 2\n",
+ "2 2\n",
+ "3 1\n",
+ "Name: Score, dtype: int64"
+ ]
+ },
+ "execution_count": 38,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.groupby('Group').count()['Score']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1 4\n",
+ "0 1\n",
+ "Name: Gender, dtype: int64"
+ ]
+ },
+ "execution_count": 39,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.Gender.value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Group | \n",
+ " Score | \n",
+ " Gender | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Ram | \n",
+ " 1 | \n",
+ " 20 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Sam | \n",
+ " 2 | \n",
+ " 40 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Hari | \n",
+ " 1 | \n",
+ " 35 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Lucky | \n",
+ " 3 | \n",
+ " 11 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Sita | \n",
+ " 2 | \n",
+ " 54 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Group Score Gender\n",
+ "0 Ram 1 20 1\n",
+ "1 Sam 2 40 1\n",
+ "2 Hari 1 35 1\n",
+ "3 Lucky 3 11 1\n",
+ "4 Sita 2 54 0"
+ ]
+ },
+ "execution_count": 52,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0 Ram\n",
+ "1 Sam\n",
+ "2 Hari\n",
+ "3 Lucky\n",
+ "4 Sita\n"
+ ]
+ }
+ ],
+ "source": [
+ "for index, row in df.iterrows():\n",
+ " print(index, row['Name'])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Group | \n",
+ " Score | \n",
+ " Class | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Ram | \n",
+ " 1 | \n",
+ " 20 | \n",
+ " A | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Sam | \n",
+ " 2 | \n",
+ " 40 | \n",
+ " A | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Hari | \n",
+ " 1 | \n",
+ " 35 | \n",
+ " A | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Lucky | \n",
+ " 3 | \n",
+ " 11 | \n",
+ " B | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Sita | \n",
+ " 2 | \n",
+ " 54 | \n",
+ " B | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Group Score Class\n",
+ "0 Ram 1 20 A\n",
+ "1 Sam 2 40 A\n",
+ "2 Hari 1 35 A\n",
+ "3 Lucky 3 11 B\n",
+ "4 Sita 2 54 B"
+ ]
+ },
+ "execution_count": 43,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df= pd.DataFrame({'Name':['Ram','Sam','Hari','Lucky','Sita'],\n",
+ " 'Group':[1,2,1,3,2],'Score': [20,40,35,11,54], 'Class':['A','A','A','B','B']})\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " | \n",
+ " Name | \n",
+ " Score | \n",
+ "
\n",
+ " \n",
+ " | Class | \n",
+ " Group | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | A | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | B | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Score\n",
+ "Class Group \n",
+ "A 1 2 2\n",
+ " 2 1 1\n",
+ "B 2 1 1\n",
+ " 3 1 1"
+ ]
+ },
+ "execution_count": 44,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "g1= df.groupby(['Class','Group']).count()\n",
+ "g1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " | \n",
+ " Score | \n",
+ "
\n",
+ " \n",
+ " | Class | \n",
+ " Group | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | A | \n",
+ " 1 | \n",
+ " 27.5 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 40.0 | \n",
+ "
\n",
+ " \n",
+ " | B | \n",
+ " 2 | \n",
+ " 54.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Score\n",
+ "Class Group \n",
+ "A 1 27.5\n",
+ " 2 40.0\n",
+ "B 2 54.0\n",
+ " 3 11.0"
+ ]
+ },
+ "execution_count": 47,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.groupby(['Class','Group']).agg('mean')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " | \n",
+ " Name | \n",
+ " Score | \n",
+ "
\n",
+ " \n",
+ " | Class | \n",
+ " Group | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | A | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | B | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Score\n",
+ "Class Group \n",
+ "A 1 2 2\n",
+ " 2 1 1\n",
+ "B 2 1 1\n",
+ " 3 1 1"
+ ]
+ },
+ "execution_count": 48,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "g1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "MultiIndex(levels=[['A', 'B'], [1, 2, 3]],\n",
+ " labels=[[0, 0, 1, 1], [0, 1, 1, 2]],\n",
+ " names=['Class', 'Group'])"
+ ]
+ },
+ "execution_count": 49,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "g1.index"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1"
+ ]
+ },
+ "execution_count": 50,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "g1.loc[('B',2),'Name']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## fillna()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1.0 | \n",
+ " NaN | \n",
+ " 7.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 8.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3.0 | \n",
+ " 6.0 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10.0 | \n",
+ " 11.0 | \n",
+ " 12.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c\n",
+ "0 1.0 NaN 7.0\n",
+ "1 NaN NaN 8.0\n",
+ "2 3.0 6.0 NaN\n",
+ "3 10.0 11.0 12.0"
+ ]
+ },
+ "execution_count": 53,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df= pd.DataFrame({'a':[1,np.nan,3,10],'b':[np.nan,np.nan,6,11],'c':[7,8,np.nan,12]})\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 54,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 7.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 8.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3.0 | \n",
+ " 6.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10.0 | \n",
+ " 11.0 | \n",
+ " 12.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c\n",
+ "0 1.0 0.0 7.0\n",
+ "1 0.0 0.0 8.0\n",
+ "2 3.0 6.0 0.0\n",
+ "3 10.0 11.0 12.0"
+ ]
+ },
+ "execution_count": 54,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.fillna(0)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " .? | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " .? | \n",
+ " .? | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " 6 | \n",
+ " .? | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ " 12 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c\n",
+ "0 1 .? 7\n",
+ "1 .? .? 8\n",
+ "2 3 6 .?\n",
+ "3 10 11 12"
+ ]
+ },
+ "execution_count": 55,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.fillna('.?')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1.000000 | \n",
+ " 8.5 | \n",
+ " 7.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4.666667 | \n",
+ " 8.5 | \n",
+ " 8.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3.000000 | \n",
+ " 6.0 | \n",
+ " 9.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10.000000 | \n",
+ " 11.0 | \n",
+ " 12.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c\n",
+ "0 1.000000 8.5 7.0\n",
+ "1 4.666667 8.5 8.0\n",
+ "2 3.000000 6.0 9.0\n",
+ "3 10.000000 11.0 12.0"
+ ]
+ },
+ "execution_count": 56,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.fillna(df.mean())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 1.000000\n",
+ "1 4.666667\n",
+ "2 3.000000\n",
+ "3 10.000000\n",
+ "Name: a, dtype: float64"
+ ]
+ },
+ "execution_count": 57,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['a'].fillna(df['a'].mean())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 1.0\n",
+ "1 1.0\n",
+ "2 3.0\n",
+ "3 10.0\n",
+ "Name: a, dtype: float64"
+ ]
+ },
+ "execution_count": 58,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['a'].fillna(method='ffill')\n",
+ "#bfill/ backfill, ffill/pad"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 1.0\n",
+ "1 3.0\n",
+ "2 3.0\n",
+ "3 10.0\n",
+ "Name: a, dtype: float64"
+ ]
+ },
+ "execution_count": 59,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['a'].fillna(method='bfill')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 10, 1 , 1 , 1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 70,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " temp | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " low | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " low | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " medium | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " medium | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " high | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " high | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " temp\n",
+ "0 low\n",
+ "1 low\n",
+ "2 medium\n",
+ "3 medium\n",
+ "4 high\n",
+ "5 high\n",
+ "6 NaN"
+ ]
+ },
+ "execution_count": 70,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# example\n",
+ "df2= pd.DataFrame({'temp':['low','low','medium','medium','high','high',np.nan]})\n",
+ "df2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 71,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 low\n",
+ "1 low\n",
+ "2 medium\n",
+ "3 medium\n",
+ "4 high\n",
+ "5 high\n",
+ "6 high\n",
+ "Name: temp, dtype: object"
+ ]
+ },
+ "execution_count": 71,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2['temp'].fillna(method='ffill')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 72,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 low\n",
+ "1 low\n",
+ "2 medium\n",
+ "3 medium\n",
+ "4 high\n",
+ "5 high\n",
+ "6 NaN\n",
+ "Name: temp, dtype: object"
+ ]
+ },
+ "execution_count": 72,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2['temp']"
+ ]
+ },
+ {
+ "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.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/Day 8 Pandas.ipynb b/Day 8 Pandas.ipynb
new file mode 100644
index 0000000..b313aa8
--- /dev/null
+++ b/Day 8 Pandas.ipynb
@@ -0,0 +1,2190 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Concatenation"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 1 2 3\n",
+ "1 4 5 6\n",
+ "2 7 8 9"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1= pd.DataFrame({'col1':[1,4,7],'col2':[2,5,8],'col3':[3,6,9]})\n",
+ "df1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 11 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 17 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 11 12 13\n",
+ "1 14 15 16\n",
+ "2 17 18 19"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2= pd.DataFrame({'col1':[11,14,17],'col2':[12,15,18],'col3':[13,16,19]})\n",
+ "df2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 21 22 23\n",
+ "1 24 25 26\n",
+ "2 27 28 29"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3= pd.DataFrame({'col1':[21,24,27],'col2':[22,25,28],'col3':[23,26,29]})\n",
+ "df3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 0 | \n",
+ " 11 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 17 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ " | 0 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 1 2 3\n",
+ "1 4 5 6\n",
+ "2 7 8 9\n",
+ "0 11 12 13\n",
+ "1 14 15 16\n",
+ "2 17 18 19\n",
+ "0 21 22 23\n",
+ "1 24 25 26\n",
+ "2 27 28 29"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.concat([df1,df2,df3])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 0 | \n",
+ " 11 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 17 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 0 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "1 0 1 2 3\n",
+ " 1 4 5 6\n",
+ " 2 7 8 9\n",
+ "2 0 11 12 13\n",
+ " 1 14 15 16\n",
+ " 2 17 18 19\n",
+ "3 0 21 22 23\n",
+ " 1 24 25 26\n",
+ " 2 27 28 29"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "a=pd.concat([df1,df2,df3], keys=[1,2,3])\n",
+ "a"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "MultiIndex(levels=[[1, 2, 3], [0, 1, 2]],\n",
+ " labels=[[0, 0, 0, 1, 1, 1, 2, 2, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2]])"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "a.index"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 0 | \n",
+ " 11 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 17 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 0 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "1 0 1 2 3\n",
+ " 1 4 5 6\n",
+ " 2 7 8 9\n",
+ "2 0 11 12 13\n",
+ " 1 14 15 16\n",
+ " 2 17 18 19\n",
+ "3 0 21 22 23\n",
+ " 1 24 25 26\n",
+ " 2 27 28 29"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.concat([df1,df2,df3], keys=[1,2,3,4])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 17 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 1 2 3\n",
+ "1 4 5 6\n",
+ "2 7 8 9\n",
+ "3 11 12 13\n",
+ "4 14 15 16\n",
+ "5 17 18 19\n",
+ "6 21 22 23\n",
+ "7 24 25 26\n",
+ "8 27 28 29"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.concat([df1,df2,df3]).reset_index(drop=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 17 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 1 2 3\n",
+ "1 4 5 6\n",
+ "2 7 8 9\n",
+ "3 11 12 13\n",
+ "4 14 15 16\n",
+ "5 17 18 19\n",
+ "6 21 22 23\n",
+ "7 24 25 26\n",
+ "8 27 28 29"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.concat([df1,df2,df3], ignore_index=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 100 | \n",
+ " 200 | \n",
+ " 300 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 400 | \n",
+ " 500 | \n",
+ " 600 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 700 | \n",
+ " 800 | \n",
+ " 900 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 100 200 300\n",
+ "4 400 500 600\n",
+ "5 700 800 900"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# prevent the result from including duplicate index\n",
+ "df10= pd.DataFrame({'col1':[100,400,700],'col2':[200,500,800],'col3':[300,600,900]}, index=[0,4,5])\n",
+ "df10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 1 2 3\n",
+ "1 4 5 6\n",
+ "2 7 8 9"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 0 | \n",
+ " 100 | \n",
+ " 200 | \n",
+ " 300 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 400 | \n",
+ " 500 | \n",
+ " 600 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 700 | \n",
+ " 800 | \n",
+ " 900 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 1 2 3\n",
+ "1 4 5 6\n",
+ "2 7 8 9\n",
+ "0 100 200 300\n",
+ "4 400 500 600\n",
+ "5 700 800 900"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.concat([df1,df10])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "ValueError",
+ "evalue": "Indexes have overlapping values: Int64Index([0], dtype='int64')",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconcat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdf1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mdf10\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mverify_integrity\u001b[0m\u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+ "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\reshape\\concat.py\u001b[0m in \u001b[0;36mconcat\u001b[1;34m(objs, axis, join, join_axes, ignore_index, keys, levels, names, verify_integrity, sort, copy)\u001b[0m\n\u001b[0;32m 223\u001b[0m \u001b[0mkeys\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mkeys\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevels\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlevels\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnames\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnames\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 224\u001b[0m \u001b[0mverify_integrity\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mverify_integrity\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 225\u001b[1;33m copy=copy, sort=sort)\n\u001b[0m\u001b[0;32m 226\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mop\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_result\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 227\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\reshape\\concat.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, objs, axis, join, join_axes, keys, levels, names, ignore_index, verify_integrity, copy, sort)\u001b[0m\n\u001b[0;32m 376\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcopy\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcopy\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 377\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 378\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnew_axes\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_new_axes\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 379\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 380\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mget_result\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\reshape\\concat.py\u001b[0m in \u001b[0;36m_get_new_axes\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 456\u001b[0m \u001b[0mnew_axes\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0max\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 457\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 458\u001b[1;33m \u001b[0mnew_axes\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_concat_axis\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 459\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mnew_axes\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 460\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\reshape\\concat.py\u001b[0m in \u001b[0;36m_get_concat_axis\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 514\u001b[0m self.levels, self.names)\n\u001b[0;32m 515\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 516\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_maybe_check_integrity\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mconcat_axis\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 517\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 518\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mconcat_axis\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\reshape\\concat.py\u001b[0m in \u001b[0;36m_maybe_check_integrity\u001b[1;34m(self, concat_index)\u001b[0m\n\u001b[0;32m 523\u001b[0m \u001b[0moverlap\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mconcat_index\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mconcat_index\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mduplicated\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0munique\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 524\u001b[0m raise ValueError('Indexes have overlapping values: '\n\u001b[1;32m--> 525\u001b[1;33m '{overlap!s}'.format(overlap=overlap))\n\u001b[0m\u001b[0;32m 526\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 527\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mValueError\u001b[0m: Indexes have overlapping values: Int64Index([0], dtype='int64')"
+ ]
+ }
+ ],
+ "source": [
+ "pd.concat([df1,df10], verify_integrity= True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 11 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 17 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col1 col2 col3 col1 col2 col3\n",
+ "0 1 2 3 11 12 13 21 22 23\n",
+ "1 4 5 6 14 15 16 24 25 26\n",
+ "2 7 8 9 17 18 19 27 28 29"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "xyz=pd.concat([df1,df2,df3], axis=1)\n",
+ "xyz"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['col1', 'col2', 'col3', 'col1', 'col2', 'col3', 'col1', 'col2', 'col3'], dtype='object')"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "xyz.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Merging\n",
+ "like in SQL"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10 | \n",
+ " 20 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 1 12 13\n",
+ "1 4 15 16\n",
+ "2 7 18 19\n",
+ "3 10 20 25"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df4= pd.DataFrame({'col1':[1,4,7,10],'col2':[12,15,18,20], 'col3':[13,16,19,25]})\n",
+ "df4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11 | \n",
+ " 21 | \n",
+ " 26 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 1 2 3\n",
+ "1 4 5 6\n",
+ "2 7 8 9\n",
+ "3 11 21 26"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df5= pd.DataFrame({'col1':[1,4,7,11],'col2':[2,5,8,21], 'col3':[3,6,9,26]})\n",
+ "df5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2_x | \n",
+ " col3_x | \n",
+ " col2_y | \n",
+ " col3_y | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2_x col3_x col2_y col3_y\n",
+ "0 1 2 3 12 13\n",
+ "1 4 5 6 15 16\n",
+ "2 7 8 9 18 19"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.merge(df5, df4, on='col1', how='inner')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2_x | \n",
+ " col3_x | \n",
+ " col2_y | \n",
+ " col3_y | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2_x col3_x col2_y col3_y\n",
+ "0 1 2 3 12 13\n",
+ "1 4 5 6 15 16\n",
+ "2 7 8 9 18 19"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df5.merge(df4, on='col1')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2_df5 | \n",
+ " col3_df5 | \n",
+ " col2_df4 | \n",
+ " col3_df4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2_df5 col3_df5 col2_df4 col3_df4\n",
+ "0 1 2 3 12 13\n",
+ "1 4 5 6 15 16\n",
+ "2 7 8 9 18 19"
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.merge(df5,df4, on='col1', suffixes=['_df5','_df4'])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3_x | \n",
+ " col3_y | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [col1, col2, col3_x, col3_y]\n",
+ "Index: []"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.merge(df5,df4, on=['col1','col2'])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2_x | \n",
+ " col3_x | \n",
+ " col2_y | \n",
+ " col3_y | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " 13.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5.0 | \n",
+ " 6.0 | \n",
+ " 15.0 | \n",
+ " 16.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8.0 | \n",
+ " 9.0 | \n",
+ " 18.0 | \n",
+ " 19.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11 | \n",
+ " 21.0 | \n",
+ " 26.0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 10 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 20.0 | \n",
+ " 25.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2_x col3_x col2_y col3_y\n",
+ "0 1 2.0 3.0 12.0 13.0\n",
+ "1 4 5.0 6.0 15.0 16.0\n",
+ "2 7 8.0 9.0 18.0 19.0\n",
+ "3 11 21.0 26.0 NaN NaN\n",
+ "4 10 NaN NaN 20.0 25.0"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.merge(df5, df4, on='col1', how='outer')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2_x | \n",
+ " col3_x | \n",
+ " col2_y | \n",
+ " col3_y | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 12.0 | \n",
+ " 13.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 15.0 | \n",
+ " 16.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 18.0 | \n",
+ " 19.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11 | \n",
+ " 21 | \n",
+ " 26 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2_x col3_x col2_y col3_y\n",
+ "0 1 2 3 12.0 13.0\n",
+ "1 4 5 6 15.0 16.0\n",
+ "2 7 8 9 18.0 19.0\n",
+ "3 11 21 26 NaN NaN"
+ ]
+ },
+ "execution_count": 34,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.merge(df5, df4, how='left', on='col1')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2_x | \n",
+ " col3_x | \n",
+ " col2_y | \n",
+ " col3_y | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2.0 | \n",
+ " 3.0 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5.0 | \n",
+ " 6.0 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8.0 | \n",
+ " 9.0 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 20 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2_x col3_x col2_y col3_y\n",
+ "0 1 2.0 3.0 12 13\n",
+ "1 4 5.0 6.0 15 16\n",
+ "2 7 8.0 9.0 18 19\n",
+ "3 10 NaN NaN 20 25"
+ ]
+ },
+ "execution_count": 35,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.merge(df5, df4, how='right', on='col1')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 10 | \n",
+ " 20 | \n",
+ " 25 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3\n",
+ "0 1 12 13\n",
+ "1 4 15 16\n",
+ "2 7 18 19\n",
+ "3 10 20 25"
+ ]
+ },
+ "execution_count": 36,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " A | \n",
+ " B | \n",
+ " C | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 11 | \n",
+ " 21 | \n",
+ " 26 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " A B C\n",
+ "0 1 2 3\n",
+ "1 4 5 6\n",
+ "2 7 8 9\n",
+ "3 11 21 26"
+ ]
+ },
+ "execution_count": 37,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df6= pd.DataFrame({'A':[1,4,7,11],'B':[2,5,8,21],'C':[3,6,9,26]})\n",
+ "df6"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " A | \n",
+ " B | \n",
+ " C | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 A B C\n",
+ "0 1 12 13 1 2 3\n",
+ "1 4 15 16 4 5 6\n",
+ "2 7 18 19 7 8 9"
+ ]
+ },
+ "execution_count": 39,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.merge(df4, df6, left_on='col1', right_on='A')"
+ ]
+ },
+ {
+ "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.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/Day 9 Pandas.ipynb b/Day 9 Pandas.ipynb
new file mode 100644
index 0000000..fbd5e4c
--- /dev/null
+++ b/Day 9 Pandas.ipynb
@@ -0,0 +1,2015 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Joining"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2\n",
+ "0 1 2\n",
+ "1 4 5\n",
+ "2 7 8"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1= pd.DataFrame({'col1':[1,4,7],'col2':[2,5,8]})\n",
+ "df1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 7 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col3 col4\n",
+ "0 1 2\n",
+ "1 4 5\n",
+ "3 7 9"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2= pd.DataFrame({'col3':[1,4,7],'col4':[2,5,9]}, index=[0,1,3])\n",
+ "df2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1.0 | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 4.0 | \n",
+ " 5.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4\n",
+ "0 1 2 1.0 2.0\n",
+ "1 4 5 4.0 5.0\n",
+ "2 7 8 NaN NaN"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1.join(df2, how='left')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1.0 | \n",
+ " 2.0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4.0 | \n",
+ " 5.0 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 7 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4\n",
+ "0 1.0 2.0 1 2\n",
+ "1 4.0 5.0 4 5\n",
+ "3 NaN NaN 7 9"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3=df1.join(df2, how='right')\n",
+ "df3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "numpy.float64"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "type(df3.col1.values[2])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1.0 | \n",
+ " 2.0 | \n",
+ " 1.0 | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4.0 | \n",
+ " 5.0 | \n",
+ " 4.0 | \n",
+ " 5.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 7.0 | \n",
+ " 8.0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 7.0 | \n",
+ " 9.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4\n",
+ "0 1.0 2.0 1.0 2.0\n",
+ "1 4.0 5.0 4.0 5.0\n",
+ "2 7.0 8.0 NaN NaN\n",
+ "3 NaN NaN 7.0 9.0"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1.join(df2, how='outer')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " col1 | \n",
+ " col2 | \n",
+ " col3 | \n",
+ " col4 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " col1 col2 col3 col4\n",
+ "0 1 2 1 2\n",
+ "1 4 5 4 5"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df1.join(df2, how='inner')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Data Input and Output using Pandas"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# csv files"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ " d | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c d\n",
+ "0 0 1 2 3\n",
+ "1 4 5 6 7\n",
+ "2 8 9 10 11\n",
+ "3 12 13 14 15"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df= pd.read_csv('example')\n",
+ "df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df.to_csv('H:\\\\example.csv', index=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " roll | \n",
+ " class | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Subham | \n",
+ " 1 | \n",
+ " 10 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Sarthak | \n",
+ " 2 | \n",
+ " 9 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Khsitiz | \n",
+ " 3 | \n",
+ " 10 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name roll class\n",
+ "0 Subham 1 10\n",
+ "1 Sarthak 2 9\n",
+ "2 Khsitiz 3 10"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.read_csv('example2.tsv', sep='\\t')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Excel"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " a | \n",
+ " b | \n",
+ " c | \n",
+ " d | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " a b c d\n",
+ "0 0 1 2 3\n",
+ "1 4 5 6 7\n",
+ "2 8 9 10 11\n",
+ "3 12 13 14 15"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.read_excel('Excel_Sample.xlsx')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df.to_excel('......',sheet_name='')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# HTML"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df2= pd.read_html('https://en.wikipedia.org/wiki/Coronavirus_disease_2019', header=0)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Coronavirus disease 2019(COVID-19) | \n",
+ " Unnamed: 1 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Other names | \n",
+ " Coronavirus Corona COVID 2019-nCoV acute respi... | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " False-color transmission electron microscope i... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Pronunciation | \n",
+ " /kəˈroʊnəˌvaɪrəs dɪˈziːz//ˌkoʊvɪdnaɪnˈtiːn, ˌk... | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Specialty | \n",
+ " Infectious disease | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Symptoms | \n",
+ " Fever, cough, fatigue, shortness of breath, lo... | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Complications | \n",
+ " Pneumonia, viral sepsis, acute respiratory dis... | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Usual onset | \n",
+ " 2–14 days (typically 5) from infection | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Causes | \n",
+ " Severe acute respiratory syndrome coronavirus ... | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " Diagnostic method | \n",
+ " rRT-PCR testing, CT scan | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " Prevention | \n",
+ " Hand washing, face coverings, quarantine, soci... | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " Treatment | \n",
+ " Symptomatic and supportive | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " Frequency | \n",
+ " 26,065,382[8] confirmed cases | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " Deaths | \n",
+ " 863,826 ([8] | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Coronavirus disease 2019(COVID-19) \\\n",
+ "0 Other names \n",
+ "1 NaN \n",
+ "2 False-color transmission electron microscope i... \n",
+ "3 Pronunciation \n",
+ "4 Specialty \n",
+ "5 Symptoms \n",
+ "6 Complications \n",
+ "7 Usual onset \n",
+ "8 Causes \n",
+ "9 Diagnostic method \n",
+ "10 Prevention \n",
+ "11 Treatment \n",
+ "12 Frequency \n",
+ "13 Deaths \n",
+ "\n",
+ " Unnamed: 1 \n",
+ "0 Coronavirus Corona COVID 2019-nCoV acute respi... \n",
+ "1 NaN \n",
+ "2 NaN \n",
+ "3 /kəˈroʊnəˌvaɪrəs dɪˈziːz//ˌkoʊvɪdnaɪnˈtiːn, ˌk... \n",
+ "4 Infectious disease \n",
+ "5 Fever, cough, fatigue, shortness of breath, lo... \n",
+ "6 Pneumonia, viral sepsis, acute respiratory dis... \n",
+ "7 2–14 days (typically 5) from infection \n",
+ "8 Severe acute respiratory syndrome coronavirus ... \n",
+ "9 rRT-PCR testing, CT scan \n",
+ "10 Hand washing, face coverings, quarantine, soci... \n",
+ "11 Symptomatic and supportive \n",
+ "12 26,065,382[8] confirmed cases \n",
+ "13 863,826 ([8] "
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2[0]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Part of a series on the | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " COVID-19 pandemic | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " SARS-CoV-2 (virus) COVID-19 (disease) | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Timeline 2019 December 2020 January February r... | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Locations By continent Africa Antarctica Asia ... | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " International response United Nations National... | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Medical response Disease testing Vaccine resea... | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Impact Socio-economic Crime Death rates by cou... | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " COVID-19 Portal | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " vte | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Part of a series on the\n",
+ "0 COVID-19 pandemic\n",
+ "1 SARS-CoV-2 (virus) COVID-19 (disease)\n",
+ "2 Timeline 2019 December 2020 January February r...\n",
+ "3 Locations By continent Africa Antarctica Asia ...\n",
+ "4 International response United Nations National...\n",
+ "5 Medical response Disease testing Vaccine resea...\n",
+ "6 Impact Socio-economic Crime Death rates by cou...\n",
+ "7 COVID-19 Portal\n",
+ "8 vte"
+ ]
+ },
+ "execution_count": 34,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2[1]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Symptom | \n",
+ " Range | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Fever | \n",
+ " 83–99% | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Cough | \n",
+ " 59–82% | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Loss of appetite | \n",
+ " 40–84% | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Fatigue | \n",
+ " 44–70% | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Shortness of breath | \n",
+ " 31–40% | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Coughing up sputum | \n",
+ " 28–33% | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Muscle aches and pains | \n",
+ " 11–35% | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Symptom Range\n",
+ "0 Fever 83–99%\n",
+ "1 Cough 59–82%\n",
+ "2 Loss of appetite 40–84%\n",
+ "3 Fatigue 44–70%\n",
+ "4 Shortness of breath 31–40%\n",
+ "5 Coughing up sputum 28–33%\n",
+ "6 Muscle aches and pains 11–35%"
+ ]
+ },
+ "execution_count": 35,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2[2]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Unnamed: 0 | \n",
+ " Age | \n",
+ " Unnamed: 2 | \n",
+ " Unnamed: 3 | \n",
+ " Unnamed: 4 | \n",
+ " Unnamed: 5 | \n",
+ " Unnamed: 6 | \n",
+ " Unnamed: 7 | \n",
+ " Unnamed: 8 | \n",
+ " Unnamed: 9 | \n",
+ " Unnamed: 10 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Country | \n",
+ " 0–9 | \n",
+ " 10–19 | \n",
+ " 20–29 | \n",
+ " 30–39 | \n",
+ " 40–49 | \n",
+ " 50–59 | \n",
+ " 60–69 | \n",
+ " 70–79 | \n",
+ " 80–89 | \n",
+ " 90+ | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Argentina as of 7 May[164] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.4 | \n",
+ " 1.3 | \n",
+ " 3.6 | \n",
+ " 12.9 | \n",
+ " 18.8 | \n",
+ " 28.4 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Australia as of 4 June[165] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.2 | \n",
+ " 1.1 | \n",
+ " 4.1 | \n",
+ " 18.1 | \n",
+ " 40.8 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Canada as of 3 June[166] | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.7 | \n",
+ " 11.2 | \n",
+ " 30.7 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Alberta as of 3 June[167] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.1 | \n",
+ " 0.1 | \n",
+ " 0.2 | \n",
+ " 1.9 | \n",
+ " 11.9 | \n",
+ " 30.8 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Br. Columbia as of 2 June[168] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.5 | \n",
+ " 0.8 | \n",
+ " 4.6 | \n",
+ " 12.3 | \n",
+ " 33.8 | \n",
+ " 33.6 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Ontario as of 3 June[169] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.2 | \n",
+ " 0.5 | \n",
+ " 1.5 | \n",
+ " 5.6 | \n",
+ " 17.7 | \n",
+ " 26.0 | \n",
+ " 33.3 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Quebec as of 2 June[170] | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.1 | \n",
+ " 0.2 | \n",
+ " 1.1 | \n",
+ " 6.1 | \n",
+ " 21.4 | \n",
+ " 30.4 | \n",
+ " 36.1 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Chile as of 31 May[171][172] | \n",
+ " 0.1 | \n",
+ " 0.3 | \n",
+ " 0.7 | \n",
+ " 2.3 | \n",
+ " 7.7 | \n",
+ " 15.6 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " China as of 11 February[173] | \n",
+ " 0.0 | \n",
+ " 0.2 | \n",
+ " 0.2 | \n",
+ " 0.2 | \n",
+ " 0.4 | \n",
+ " 1.3 | \n",
+ " 3.6 | \n",
+ " 8.0 | \n",
+ " 14.8 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " Colombia as of 3 June[174] | \n",
+ " 0.3 | \n",
+ " 0.0 | \n",
+ " 0.2 | \n",
+ " 0.5 | \n",
+ " 1.6 | \n",
+ " 3.4 | \n",
+ " 9.4 | \n",
+ " 18.1 | \n",
+ " 25.6 | \n",
+ " 35.1 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " Denmark as of 4 June[175] | \n",
+ " 0.2 | \n",
+ " 4.1 | \n",
+ " 16.5 | \n",
+ " 28.1 | \n",
+ " 48.2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 12 | \n",
+ " Finland as of 4 June[176] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " <0.4 | \n",
+ " <0.4 | \n",
+ " <0.5 | \n",
+ " 0.8 | \n",
+ " 3.8 | \n",
+ " 18.1 | \n",
+ " 42.3 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 13 | \n",
+ " Germany as of 5 June[177] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 1.9 | \n",
+ " 19.7 | \n",
+ " 31.0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " Bavaria as of 5 June[178] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.1 | \n",
+ " 0.2 | \n",
+ " 0.9 | \n",
+ " 5.4 | \n",
+ " 15.8 | \n",
+ " 28.0 | \n",
+ " 35.8 | \n",
+ "
\n",
+ " \n",
+ " | 15 | \n",
+ " Israel as of 3 May[179] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.9 | \n",
+ " 0.9 | \n",
+ " 3.1 | \n",
+ " 9.7 | \n",
+ " 22.9 | \n",
+ " 30.8 | \n",
+ " 31.3 | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " Italy as of 3 June[180] | \n",
+ " 0.3 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.3 | \n",
+ " 0.9 | \n",
+ " 2.7 | \n",
+ " 10.6 | \n",
+ " 25.9 | \n",
+ " 32.4 | \n",
+ " 29.9 | \n",
+ "
\n",
+ " \n",
+ " | 17 | \n",
+ " Japan as of 7 May[181] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.3 | \n",
+ " 0.6 | \n",
+ " 2.5 | \n",
+ " 6.8 | \n",
+ " 14.8 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " Mexico as of 3 June[182] | \n",
+ " 3.3 | \n",
+ " 0.6 | \n",
+ " 1.2 | \n",
+ " 2.9 | \n",
+ " 7.5 | \n",
+ " 15.0 | \n",
+ " 25.3 | \n",
+ " 33.7 | \n",
+ " 40.3 | \n",
+ " 40.6 | \n",
+ "
\n",
+ " \n",
+ " | 19 | \n",
+ " Netherlands as of 3 June[183] | \n",
+ " 0.0 | \n",
+ " 0.2 | \n",
+ " 0.1 | \n",
+ " 0.3 | \n",
+ " 0.5 | \n",
+ " 1.7 | \n",
+ " 8.1 | \n",
+ " 25.6 | \n",
+ " 33.3 | \n",
+ " 34.5 | \n",
+ "
\n",
+ " \n",
+ " | 20 | \n",
+ " Norway as of 4 June[184] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.3 | \n",
+ " 0.4 | \n",
+ " 2.2 | \n",
+ " 9.0 | \n",
+ " 22.7 | \n",
+ " 57.0 | \n",
+ "
\n",
+ " \n",
+ " | 21 | \n",
+ " Philippines as of 4 June[185] | \n",
+ " 1.6 | \n",
+ " 0.9 | \n",
+ " 0.5 | \n",
+ " 0.8 | \n",
+ " 2.4 | \n",
+ " 5.5 | \n",
+ " 13.2 | \n",
+ " 20.9 | \n",
+ " 31.5 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " Portugal as of 3 June[186] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.3 | \n",
+ " 1.3 | \n",
+ " 3.6 | \n",
+ " 10.5 | \n",
+ " 21.2 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 23 | \n",
+ " South Africa as of 28 May[187] | \n",
+ " 0.3 | \n",
+ " 0.1 | \n",
+ " 0.1 | \n",
+ " 0.4 | \n",
+ " 1.1 | \n",
+ " 3.8 | \n",
+ " 9.2 | \n",
+ " 15.0 | \n",
+ " 12.3 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 24 | \n",
+ " South Korea as of 17 July[188] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.2 | \n",
+ " 0.6 | \n",
+ " 2.3 | \n",
+ " 9.5 | \n",
+ " 25.2 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 25 | \n",
+ " Spain as of 29 May[189] | \n",
+ " 0.3 | \n",
+ " 0.2 | \n",
+ " 0.2 | \n",
+ " 0.3 | \n",
+ " 0.6 | \n",
+ " 1.4 | \n",
+ " 5.0 | \n",
+ " 14.3 | \n",
+ " 20.8 | \n",
+ " 21.7 | \n",
+ "
\n",
+ " \n",
+ " | 26 | \n",
+ " Sweden as of 5 June[190] | \n",
+ " 0.5 | \n",
+ " 0.0 | \n",
+ " 0.2 | \n",
+ " 0.2 | \n",
+ " 0.6 | \n",
+ " 1.7 | \n",
+ " 6.6 | \n",
+ " 23.4 | \n",
+ " 35.6 | \n",
+ " 40.3 | \n",
+ "
\n",
+ " \n",
+ " | 27 | \n",
+ " Switzerland as of 4 June[191] | \n",
+ " 0.6 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.1 | \n",
+ " 0.6 | \n",
+ " 3.4 | \n",
+ " 11.6 | \n",
+ " 28.2 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 28 | \n",
+ " United States | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 29 | \n",
+ " Colorado as of 3 June[192] | \n",
+ " 0.2 | \n",
+ " 0.2 | \n",
+ " 0.2 | \n",
+ " 0.2 | \n",
+ " 0.8 | \n",
+ " 1.9 | \n",
+ " 6.2 | \n",
+ " 18.5 | \n",
+ " 39.0 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 30 | \n",
+ " Connecticut as of 3 June[193] | \n",
+ " 0.2 | \n",
+ " 0.1 | \n",
+ " 0.1 | \n",
+ " 0.3 | \n",
+ " 0.7 | \n",
+ " 1.8 | \n",
+ " 7.0 | \n",
+ " 18.0 | \n",
+ " 31.2 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 31 | \n",
+ " Georgia as of 3 June[194] | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.5 | \n",
+ " 0.9 | \n",
+ " 2.0 | \n",
+ " 6.1 | \n",
+ " 13.2 | \n",
+ " 22.0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 32 | \n",
+ " Idaho as of 3 June[195] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.4 | \n",
+ " 3.1 | \n",
+ " 8.9 | \n",
+ " 31.4 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 33 | \n",
+ " Indiana as of 3 June[196] | \n",
+ " 0.1 | \n",
+ " 0.1 | \n",
+ " 0.2 | \n",
+ " 0.6 | \n",
+ " 1.8 | \n",
+ " 7.3 | \n",
+ " 17.1 | \n",
+ " 30.2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 34 | \n",
+ " Kentucky as of 20 May[197] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.2 | \n",
+ " 0.5 | \n",
+ " 1.9 | \n",
+ " 5.9 | \n",
+ " 14.2 | \n",
+ " 29.1 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 35 | \n",
+ " Maryland as of 20 May[198] | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.2 | \n",
+ " 0.3 | \n",
+ " 0.7 | \n",
+ " 1.9 | \n",
+ " 6.1 | \n",
+ " 14.6 | \n",
+ " 28.8 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 36 | \n",
+ " Massachusetts as of 20 May[199] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.1 | \n",
+ " 0.4 | \n",
+ " 1.5 | \n",
+ " 5.2 | \n",
+ " 16.8 | \n",
+ " 28.9 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 37 | \n",
+ " Minnesota as of 13 May[200] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.3 | \n",
+ " 1.6 | \n",
+ " 5.4 | \n",
+ " 26.9 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 38 | \n",
+ " Mississippi as of 19 May[201] | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.5 | \n",
+ " 0.9 | \n",
+ " 2.1 | \n",
+ " 8.1 | \n",
+ " 16.1 | \n",
+ " 19.4 | \n",
+ " 27.2 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 39 | \n",
+ " Missouri as of 19 May[202] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.2 | \n",
+ " 0.8 | \n",
+ " 2.2 | \n",
+ " 6.3 | \n",
+ " 14.3 | \n",
+ " 22.5 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 40 | \n",
+ " Nevada as of 20 May[203] | \n",
+ " 0.0 | \n",
+ " 0.3 | \n",
+ " 0.3 | \n",
+ " 0.4 | \n",
+ " 1.7 | \n",
+ " 2.6 | \n",
+ " 7.7 | \n",
+ " 22.3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 41 | \n",
+ " N. Hampshire as of 12 May[204] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.4 | \n",
+ " 0.0 | \n",
+ " 1.2 | \n",
+ " 0.0 | \n",
+ " 2.2 | \n",
+ " 12.0 | \n",
+ " 21.2 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 42 | \n",
+ " Oregon as of 12 May[205] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.5 | \n",
+ " 0.8 | \n",
+ " 5.6 | \n",
+ " 12.1 | \n",
+ " 28.9 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 43 | \n",
+ " Texas as of 20 May[206] | \n",
+ " 0.0 | \n",
+ " 0.5 | \n",
+ " 0.4 | \n",
+ " 0.3 | \n",
+ " 0.8 | \n",
+ " 2.1 | \n",
+ " 5.5 | \n",
+ " 10.1 | \n",
+ " 30.6 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 44 | \n",
+ " Virginia as of 19 May[207] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.1 | \n",
+ " 0.4 | \n",
+ " 1.0 | \n",
+ " 4.4 | \n",
+ " 12.9 | \n",
+ " 24.9 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 45 | \n",
+ " Washington as of 10 May[208] | \n",
+ " 0.0 | \n",
+ " 0.2 | \n",
+ " 1.3 | \n",
+ " 9.8 | \n",
+ " 31.2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 46 | \n",
+ " Wisconsin as of 20 May[209] | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.2 | \n",
+ " 0.2 | \n",
+ " 0.6 | \n",
+ " 2.0 | \n",
+ " 5.0 | \n",
+ " 14.7 | \n",
+ " 19.9 | \n",
+ " 30.4 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Unnamed: 0 Age Unnamed: 2 Unnamed: 3 Unnamed: 4 \\\n",
+ "0 Country 0–9 10–19 20–29 30–39 \n",
+ "1 Argentina as of 7 May[164] 0.0 0.0 0.1 0.4 \n",
+ "2 Australia as of 4 June[165] 0.0 0.0 0.0 0.0 \n",
+ "3 Canada as of 3 June[166] 0.0 0.1 0.7 11.2 \n",
+ "4 Alberta as of 3 June[167] 0.0 0.0 0.1 0.1 \n",
+ "5 Br. Columbia as of 2 June[168] 0.0 0.0 0.0 0.0 \n",
+ "6 Ontario as of 3 June[169] 0.0 0.0 0.1 0.2 \n",
+ "7 Quebec as of 2 June[170] 0.0 0.1 0.1 0.2 \n",
+ "8 Chile as of 31 May[171][172] 0.1 0.3 0.7 2.3 \n",
+ "9 China as of 11 February[173] 0.0 0.2 0.2 0.2 \n",
+ "10 Colombia as of 3 June[174] 0.3 0.0 0.2 0.5 \n",
+ "11 Denmark as of 4 June[175] 0.2 4.1 16.5 28.1 \n",
+ "12 Finland as of 4 June[176] 0.0 0.0 <0.4 <0.4 \n",
+ "13 Germany as of 5 June[177] 0.0 0.0 0.1 1.9 \n",
+ "14 Bavaria as of 5 June[178] 0.0 0.0 0.1 0.1 \n",
+ "15 Israel as of 3 May[179] 0.0 0.0 0.0 0.9 \n",
+ "16 Italy as of 3 June[180] 0.3 0.0 0.1 0.3 \n",
+ "17 Japan as of 7 May[181] 0.0 0.0 0.0 0.1 \n",
+ "18 Mexico as of 3 June[182] 3.3 0.6 1.2 2.9 \n",
+ "19 Netherlands as of 3 June[183] 0.0 0.2 0.1 0.3 \n",
+ "20 Norway as of 4 June[184] 0.0 0.0 0.0 0.0 \n",
+ "21 Philippines as of 4 June[185] 1.6 0.9 0.5 0.8 \n",
+ "22 Portugal as of 3 June[186] 0.0 0.0 0.0 0.0 \n",
+ "23 South Africa as of 28 May[187] 0.3 0.1 0.1 0.4 \n",
+ "24 South Korea as of 17 July[188] 0.0 0.0 0.0 0.1 \n",
+ "25 Spain as of 29 May[189] 0.3 0.2 0.2 0.3 \n",
+ "26 Sweden as of 5 June[190] 0.5 0.0 0.2 0.2 \n",
+ "27 Switzerland as of 4 June[191] 0.6 0.0 0.0 0.1 \n",
+ "28 United States NaN NaN NaN NaN \n",
+ "29 Colorado as of 3 June[192] 0.2 0.2 0.2 0.2 \n",
+ "30 Connecticut as of 3 June[193] 0.2 0.1 0.1 0.3 \n",
+ "31 Georgia as of 3 June[194] 0.0 0.1 0.5 0.9 \n",
+ "32 Idaho as of 3 June[195] 0.0 0.0 0.0 0.0 \n",
+ "33 Indiana as of 3 June[196] 0.1 0.1 0.2 0.6 \n",
+ "34 Kentucky as of 20 May[197] 0.0 0.0 0.0 0.2 \n",
+ "35 Maryland as of 20 May[198] 0.0 0.1 0.2 0.3 \n",
+ "36 Massachusetts as of 20 May[199] 0.0 0.0 0.1 0.1 \n",
+ "37 Minnesota as of 13 May[200] 0.0 0.0 0.0 0.1 \n",
+ "38 Mississippi as of 19 May[201] 0.0 0.1 0.5 0.9 \n",
+ "39 Missouri as of 19 May[202] 0.0 0.0 0.1 0.2 \n",
+ "40 Nevada as of 20 May[203] 0.0 0.3 0.3 0.4 \n",
+ "41 N. Hampshire as of 12 May[204] 0.0 0.0 0.4 0.0 \n",
+ "42 Oregon as of 12 May[205] 0.0 0.0 0.0 0.0 \n",
+ "43 Texas as of 20 May[206] 0.0 0.5 0.4 0.3 \n",
+ "44 Virginia as of 19 May[207] 0.0 0.0 0.0 0.1 \n",
+ "45 Washington as of 10 May[208] 0.0 0.2 1.3 9.8 \n",
+ "46 Wisconsin as of 20 May[209] 0.0 0.0 0.2 0.2 \n",
+ "\n",
+ " Unnamed: 5 Unnamed: 6 Unnamed: 7 Unnamed: 8 Unnamed: 9 Unnamed: 10 \n",
+ "0 40–49 50–59 60–69 70–79 80–89 90+ \n",
+ "1 1.3 3.6 12.9 18.8 28.4 NaN \n",
+ "2 0.1 0.2 1.1 4.1 18.1 40.8 \n",
+ "3 30.7 NaN NaN NaN NaN NaN \n",
+ "4 0.1 0.2 1.9 11.9 30.8 NaN \n",
+ "5 0.5 0.8 4.6 12.3 33.8 33.6 \n",
+ "6 0.5 1.5 5.6 17.7 26.0 33.3 \n",
+ "7 1.1 6.1 21.4 30.4 36.1 NaN \n",
+ "8 7.7 15.6 NaN NaN NaN NaN \n",
+ "9 0.4 1.3 3.6 8.0 14.8 NaN \n",
+ "10 1.6 3.4 9.4 18.1 25.6 35.1 \n",
+ "11 48.2 NaN NaN NaN NaN NaN \n",
+ "12 <0.5 0.8 3.8 18.1 42.3 NaN \n",
+ "13 19.7 31.0 NaN NaN NaN NaN \n",
+ "14 0.2 0.9 5.4 15.8 28.0 35.8 \n",
+ "15 0.9 3.1 9.7 22.9 30.8 31.3 \n",
+ "16 0.9 2.7 10.6 25.9 32.4 29.9 \n",
+ "17 0.3 0.6 2.5 6.8 14.8 NaN \n",
+ "18 7.5 15.0 25.3 33.7 40.3 40.6 \n",
+ "19 0.5 1.7 8.1 25.6 33.3 34.5 \n",
+ "20 0.3 0.4 2.2 9.0 22.7 57.0 \n",
+ "21 2.4 5.5 13.2 20.9 31.5 NaN \n",
+ "22 0.3 1.3 3.6 10.5 21.2 NaN \n",
+ "23 1.1 3.8 9.2 15.0 12.3 NaN \n",
+ "24 0.2 0.6 2.3 9.5 25.2 NaN \n",
+ "25 0.6 1.4 5.0 14.3 20.8 21.7 \n",
+ "26 0.6 1.7 6.6 23.4 35.6 40.3 \n",
+ "27 0.1 0.6 3.4 11.6 28.2 NaN \n",
+ "28 NaN NaN NaN NaN NaN NaN \n",
+ "29 0.8 1.9 6.2 18.5 39.0 NaN \n",
+ "30 0.7 1.8 7.0 18.0 31.2 NaN \n",
+ "31 2.0 6.1 13.2 22.0 NaN NaN \n",
+ "32 0.0 0.4 3.1 8.9 31.4 NaN \n",
+ "33 1.8 7.3 17.1 30.2 NaN NaN \n",
+ "34 0.5 1.9 5.9 14.2 29.1 NaN \n",
+ "35 0.7 1.9 6.1 14.6 28.8 NaN \n",
+ "36 0.4 1.5 5.2 16.8 28.9 NaN \n",
+ "37 0.3 1.6 5.4 26.9 NaN NaN \n",
+ "38 2.1 8.1 16.1 19.4 27.2 NaN \n",
+ "39 0.8 2.2 6.3 14.3 22.5 NaN \n",
+ "40 1.7 2.6 7.7 22.3 NaN NaN \n",
+ "41 1.2 0.0 2.2 12.0 21.2 NaN \n",
+ "42 0.5 0.8 5.6 12.1 28.9 NaN \n",
+ "43 0.8 2.1 5.5 10.1 30.6 NaN \n",
+ "44 0.4 1.0 4.4 12.9 24.9 NaN \n",
+ "45 31.2 NaN NaN NaN NaN NaN \n",
+ "46 0.6 2.0 5.0 14.7 19.9 30.4 "
+ ]
+ },
+ "execution_count": 36,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2[3]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 Coronavirus Corona COVID 2019-nCoV acute respi...\n",
+ "1 NaN\n",
+ "2 NaN\n",
+ "3 /kəˈroʊnəˌvaɪrəs dɪˈziːz//ˌkoʊvɪdnaɪnˈtiːn, ˌk...\n",
+ "4 Infectious disease\n",
+ "5 Fever, cough, fatigue, shortness of breath, lo...\n",
+ "6 Pneumonia, viral sepsis, acute respiratory dis...\n",
+ "7 2–14 days (typically 5) from infection\n",
+ "8 Severe acute respiratory syndrome coronavirus ...\n",
+ "9 rRT-PCR testing, CT scan\n",
+ "10 Hand washing, face coverings, quarantine, soci...\n",
+ "11 Symptomatic and supportive\n",
+ "12 26,065,382[8] confirmed cases\n",
+ "13 863,826 ([8]\n",
+ "Name: Unnamed: 1, dtype: object"
+ ]
+ },
+ "execution_count": 37,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2[0]['Unnamed: 1']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import re"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 Coronavirus Corona COVID 2019-nCoV acute respi...\n",
+ "1 nan\n",
+ "2 nan\n",
+ "3 /kəˈroʊnəˌvaɪrəs dɪˈziːz//ˌkoʊvɪdnaɪnˈtiːn, ˌk...\n",
+ "4 Infectious disease\n",
+ "5 Fever, cough, fatigue, shortness of breath, lo...\n",
+ "6 Pneumonia, viral sepsis, acute respiratory dis...\n",
+ "7 2–14 days (typically 5) from infection\n",
+ "8 Severe acute respiratory syndrome coronavirus ...\n",
+ "9 rRT-PCR testing, CT scan\n",
+ "10 Hand washing, face coverings, quarantine, soci...\n",
+ "11 Symptomatic and supportive\n",
+ "12 26,065,382 confirmed cases\n",
+ "13 863,826 (\n",
+ "Name: Unnamed: 1, dtype: object"
+ ]
+ },
+ "execution_count": 40,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2[0]['Unnamed: 1'].apply(lambda x: re.sub('\\[\\d\\]', '', str(x)))"
+ ]
+ },
+ {
+ "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.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}