File name
Commit message
Commit date
File name
Commit message
Commit date
{
"cells": [
{
"cell_type": "code",
"execution_count": 3,
"id": "5146a34e",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "a8c55879",
"metadata": {},
"outputs": [],
"source": [
"df1 = pd.DataFrame({\n",
" 'A':['A0', 'A1', 'A2', 'A3'], \n",
" 'B':['B0', 'B1', 'B2', 'B3'],\n",
" 'C':['C0', 'C1', 'C2', 'C3']\n",
"})"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "22aa890a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>A0</td>\n",
" <td>B0</td>\n",
" <td>C0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>A1</td>\n",
" <td>B1</td>\n",
" <td>C1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C\n",
"0 A0 B0 C0\n",
"1 A1 B1 C1\n",
"2 A2 B2 C2\n",
"3 A3 B3 C3"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df1"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "6c0701ab",
"metadata": {},
"outputs": [],
"source": [
"df2 = pd.DataFrame({\n",
" 'A':['A4', 'A5', 'A6', 'A7'], \n",
" 'B':['B4', 'B5', 'B6', 'B7'],\n",
" 'C':['C4', 'C5', 'C6', 'C7']},index=(4, 5, 6, 7))"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "85ed1f0f",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>A4</td>\n",
" <td>B4</td>\n",
" <td>C4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>A5</td>\n",
" <td>B5</td>\n",
" <td>C5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>A6</td>\n",
" <td>B6</td>\n",
" <td>C6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>A7</td>\n",
" <td>B7</td>\n",
" <td>C7</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C\n",
"4 A4 B4 C4\n",
"5 A5 B5 C5\n",
"6 A6 B6 C6\n",
"7 A7 B7 C7"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df2"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "8a998f5a",
"metadata": {},
"outputs": [],
"source": [
"df3 = pd.DataFrame({\n",
" 'A':['A8', 'A9', 'A10', 'A11'],\n",
" 'B':['B8', 'B9', 'B10', 'B11'],\n",
" 'C':['C8', 'C9', 'C10', 'C11']}, index=(8, 9, 10, 11))"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "70f74dd5",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>A8</td>\n",
" <td>B8</td>\n",
" <td>C8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>A9</td>\n",
" <td>B9</td>\n",
" <td>C9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>A10</td>\n",
" <td>B10</td>\n",
" <td>C10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>A11</td>\n",
" <td>B11</td>\n",
" <td>C11</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C\n",
"8 A8 B8 C8\n",
"9 A9 B9 C9\n",
"10 A10 B10 C10\n",
"11 A11 B11 C11"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df3"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "03c95fdf",
"metadata": {},
"outputs": [],
"source": [
"result = pd.concat([df1, df2, df3])"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "51cf8acc",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>A0</td>\n",
" <td>B0</td>\n",
" <td>C0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>A1</td>\n",
" <td>B1</td>\n",
" <td>C1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>A4</td>\n",
" <td>B4</td>\n",
" <td>C4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>A5</td>\n",
" <td>B5</td>\n",
" <td>C5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>A6</td>\n",
" <td>B6</td>\n",
" <td>C6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>A7</td>\n",
" <td>B7</td>\n",
" <td>C7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>A8</td>\n",
" <td>B8</td>\n",
" <td>C8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>A9</td>\n",
" <td>B9</td>\n",
" <td>C9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>A10</td>\n",
" <td>B10</td>\n",
" <td>C10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>A11</td>\n",
" <td>B11</td>\n",
" <td>C11</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C\n",
"0 A0 B0 C0\n",
"1 A1 B1 C1\n",
"2 A2 B2 C2\n",
"3 A3 B3 C3\n",
"4 A4 B4 C4\n",
"5 A5 B5 C5\n",
"6 A6 B6 C6\n",
"7 A7 B7 C7\n",
"8 A8 B8 C8\n",
"9 A9 B9 C9\n",
"10 A10 B10 C10\n",
"11 A11 B11 C11"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "a21eef99",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Int64Index: 12 entries, 0 to 11\n",
"Data columns (total 3 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 A 12 non-null object\n",
" 1 B 12 non-null object\n",
" 2 C 12 non-null object\n",
"dtypes: object(3)\n",
"memory usage: 384.0+ bytes\n"
]
}
],
"source": [
"result.info()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "b490ebea",
"metadata": {},
"outputs": [],
"source": [
"result = pd.concat([df1, df2, df3], keys=['x', 'y', 'z'])"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "ef0824db",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"4\" valign=\"top\">x</th>\n",
" <th>0</th>\n",
" <td>A0</td>\n",
" <td>B0</td>\n",
" <td>C0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>A1</td>\n",
" <td>B1</td>\n",
" <td>C1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"4\" valign=\"top\">y</th>\n",
" <th>4</th>\n",
" <td>A4</td>\n",
" <td>B4</td>\n",
" <td>C4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>A5</td>\n",
" <td>B5</td>\n",
" <td>C5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>A6</td>\n",
" <td>B6</td>\n",
" <td>C6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>A7</td>\n",
" <td>B7</td>\n",
" <td>C7</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"4\" valign=\"top\">z</th>\n",
" <th>8</th>\n",
" <td>A8</td>\n",
" <td>B8</td>\n",
" <td>C8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>A9</td>\n",
" <td>B9</td>\n",
" <td>C9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>A10</td>\n",
" <td>B10</td>\n",
" <td>C10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>A11</td>\n",
" <td>B11</td>\n",
" <td>C11</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C\n",
"x 0 A0 B0 C0\n",
" 1 A1 B1 C1\n",
" 2 A2 B2 C2\n",
" 3 A3 B3 C3\n",
"y 4 A4 B4 C4\n",
" 5 A5 B5 C5\n",
" 6 A6 B6 C6\n",
" 7 A7 B7 C7\n",
"z 8 A8 B8 C8\n",
" 9 A9 B9 C9\n",
" 10 A10 B10 C10\n",
" 11 A11 B11 C11"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "a8f64999",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"MultiIndex: 12 entries, ('x', 0) to ('z', 11)\n",
"Data columns (total 3 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 A 12 non-null object\n",
" 1 B 12 non-null object\n",
" 2 C 12 non-null object\n",
"dtypes: object(3)\n",
"memory usage: 764.0+ bytes\n"
]
}
],
"source": [
"result.info()"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "4531937f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"x 0 A0\n",
" 1 A1\n",
" 2 A2\n",
" 3 A3\n",
"y 4 A4\n",
" 5 A5\n",
" 6 A6\n",
" 7 A7\n",
"z 8 A8\n",
" 9 A9\n",
" 10 A10\n",
" 11 A11\n",
"Name: A, dtype: object"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result['A']"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "767e23df",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"MultiIndex([('x', 0),\n",
" ('x', 1),\n",
" ('x', 2),\n",
" ('x', 3),\n",
" ('y', 4),\n",
" ('y', 5),\n",
" ('y', 6),\n",
" ('y', 7),\n",
" ('z', 8),\n",
" ('z', 9),\n",
" ('z', 10),\n",
" ('z', 11)],\n",
" )"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result.index"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "35411e2e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['x', 'x', 'x', 'x', 'y', 'y', 'y', 'y', 'z', 'z', 'z', 'z'], dtype='object')"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result.index.get_level_values(0)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "ead053d8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Int64Index([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], dtype='int64')"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result.index.get_level_values(1)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "7359e2c2",
"metadata": {},
"outputs": [],
"source": [
"df4 = pd.DataFrame({\n",
" 'B':['B2', 'B3', 'B6', 'B7'],\n",
" 'D':['D2', 'D3', 'D6', 'D7'],\n",
" 'F':['F2', 'F3', 'F6', 'F7']}, index=(2, 3, 6, 7))"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "cee8dd87",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>A0</td>\n",
" <td>B0</td>\n",
" <td>C0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>A1</td>\n",
" <td>B1</td>\n",
" <td>C1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C\n",
"0 A0 B0 C0\n",
"1 A1 B1 C1\n",
"2 A2 B2 C2\n",
"3 A3 B3 C3"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df1"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "49397308",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>B</th>\n",
" <th>D</th>\n",
" <th>F</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>B2</td>\n",
" <td>D2</td>\n",
" <td>F2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>B3</td>\n",
" <td>D3</td>\n",
" <td>F3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>B6</td>\n",
" <td>D6</td>\n",
" <td>F6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>B7</td>\n",
" <td>D7</td>\n",
" <td>F7</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" B D F\n",
"2 B2 D2 F2\n",
"3 B3 D3 F3\n",
"6 B6 D6 F6\n",
"7 B7 D7 F7"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df4"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "503ab5c9",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" <th>D</th>\n",
" <th>F</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>A0</td>\n",
" <td>B0</td>\n",
" <td>C0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>A1</td>\n",
" <td>B1</td>\n",
" <td>C1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>NaN</td>\n",
" <td>B2</td>\n",
" <td>NaN</td>\n",
" <td>D2</td>\n",
" <td>F2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>NaN</td>\n",
" <td>B3</td>\n",
" <td>NaN</td>\n",
" <td>D3</td>\n",
" <td>F3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>NaN</td>\n",
" <td>B6</td>\n",
" <td>NaN</td>\n",
" <td>D6</td>\n",
" <td>F6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>NaN</td>\n",
" <td>B7</td>\n",
" <td>NaN</td>\n",
" <td>D7</td>\n",
" <td>F7</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C D F\n",
"0 A0 B0 C0 NaN NaN\n",
"1 A1 B1 C1 NaN NaN\n",
"2 A2 B2 C2 NaN NaN\n",
"3 A3 B3 C3 NaN NaN\n",
"2 NaN B2 NaN D2 F2\n",
"3 NaN B3 NaN D3 F3\n",
"6 NaN B6 NaN D6 F6\n",
"7 NaN B7 NaN D7 F7"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.concat([df1, df4])"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "3112bd2e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" <th>B</th>\n",
" <th>D</th>\n",
" <th>F</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>A0</td>\n",
" <td>B0</td>\n",
" <td>C0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>A1</td>\n",
" <td>B1</td>\n",
" <td>C1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" <td>B2</td>\n",
" <td>D2</td>\n",
" <td>F2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" <td>B3</td>\n",
" <td>D3</td>\n",
" <td>F3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>B6</td>\n",
" <td>D6</td>\n",
" <td>F6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>B7</td>\n",
" <td>D7</td>\n",
" <td>F7</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C B D F\n",
"0 A0 B0 C0 NaN NaN NaN\n",
"1 A1 B1 C1 NaN NaN NaN\n",
"2 A2 B2 C2 B2 D2 F2\n",
"3 A3 B3 C3 B3 D3 F3\n",
"6 NaN NaN NaN B6 D6 F6\n",
"7 NaN NaN NaN B7 D7 F7"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.concat([df1, df4], axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "9a9681c0",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" <th>D</th>\n",
" <th>F</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>A0</td>\n",
" <td>B0</td>\n",
" <td>C0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>A1</td>\n",
" <td>B1</td>\n",
" <td>C1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>NaN</td>\n",
" <td>B2</td>\n",
" <td>NaN</td>\n",
" <td>D2</td>\n",
" <td>F2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>NaN</td>\n",
" <td>B3</td>\n",
" <td>NaN</td>\n",
" <td>D3</td>\n",
" <td>F3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>NaN</td>\n",
" <td>B6</td>\n",
" <td>NaN</td>\n",
" <td>D6</td>\n",
" <td>F6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>NaN</td>\n",
" <td>B7</td>\n",
" <td>NaN</td>\n",
" <td>D7</td>\n",
" <td>F7</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C D F\n",
"0 A0 B0 C0 NaN NaN\n",
"1 A1 B1 C1 NaN NaN\n",
"2 A2 B2 C2 NaN NaN\n",
"3 A3 B3 C3 NaN NaN\n",
"4 NaN B2 NaN D2 F2\n",
"5 NaN B3 NaN D3 F3\n",
"6 NaN B6 NaN D6 F6\n",
"7 NaN B7 NaN D7 F7"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.concat([df1, df4], ignore_index=True)"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "7e875eba",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" <th>B</th>\n",
" <th>D</th>\n",
" <th>F</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" <td>B2</td>\n",
" <td>D2</td>\n",
" <td>F2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" <td>B3</td>\n",
" <td>D3</td>\n",
" <td>F3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" A B C B D F\n",
"2 A2 B2 C2 B2 D2 F2\n",
"3 A3 B3 C3 B3 D3 F3"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.concat([df1, df4], axis=1, join='inner')"
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "241cc856",
"metadata": {},
"outputs": [],
"source": [
"left = pd.DataFrame({\n",
" 'key':['K0', 'K4', 'K2', 'K3'],\n",
" 'A':['A0', 'A1', 'A2', 'A3'],\n",
" 'B':['B0', 'B1', 'B2', 'B3']\n",
"})"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "7993c237",
"metadata": {},
"outputs": [],
"source": [
"right = pd.DataFrame({\n",
" 'key':['K', 'K1', 'K2', 'K3'],\n",
" 'C':['C0', 'C1', 'C2', 'C3'],\n",
" 'D':['D0', 'D1', 'D2', 'D3']\n",
"})"
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "4ea20d17",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>key</th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>K0</td>\n",
" <td>A0</td>\n",
" <td>B0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>K4</td>\n",
" <td>A1</td>\n",
" <td>B1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>K2</td>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>K3</td>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" key A B\n",
"0 K0 A0 B0\n",
"1 K4 A1 B1\n",
"2 K2 A2 B2\n",
"3 K3 A3 B3"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"left"
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "0166068c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>key</th>\n",
" <th>C</th>\n",
" <th>D</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>K</td>\n",
" <td>C0</td>\n",
" <td>D0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>K1</td>\n",
" <td>C1</td>\n",
" <td>D1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>K2</td>\n",
" <td>C2</td>\n",
" <td>D2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>K3</td>\n",
" <td>C3</td>\n",
" <td>D3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" key C D\n",
"0 K C0 D0\n",
"1 K1 C1 D1\n",
"2 K2 C2 D2\n",
"3 K3 C3 D3"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"right"
]
},
{
"cell_type": "code",
"execution_count": 70,
"id": "9125ffd9",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>key</th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" <th>D</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>K2</td>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" <td>D2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>K3</td>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" <td>D3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" key A B C D\n",
"0 K2 A2 B2 C2 D2\n",
"1 K3 A3 B3 C3 D3"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.merge(left, right)"
]
},
{
"cell_type": "code",
"execution_count": 71,
"id": "a4dff788",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>key</th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" <th>D</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>K0</td>\n",
" <td>A0</td>\n",
" <td>B0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>K4</td>\n",
" <td>A1</td>\n",
" <td>B1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>K2</td>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" <td>D2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>K3</td>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" <td>D3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" key A B C D\n",
"0 K0 A0 B0 NaN NaN\n",
"1 K4 A1 B1 NaN NaN\n",
"2 K2 A2 B2 C2 D2\n",
"3 K3 A3 B3 C3 D3"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.merge(left, right, on='key', how='left')"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "501e82f7",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>key</th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" <th>D</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>K</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>C0</td>\n",
" <td>D0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>K1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>C1</td>\n",
" <td>D1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>K2</td>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" <td>D2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>K3</td>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" <td>D3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" key A B C D\n",
"0 K NaN NaN C0 D0\n",
"1 K1 NaN NaN C1 D1\n",
"2 K2 A2 B2 C2 D2\n",
"3 K3 A3 B3 C3 D3"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.merge(left, right, on='key', how='right')"
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "e6edfb4b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>key</th>\n",
" <th>A</th>\n",
" <th>B</th>\n",
" <th>C</th>\n",
" <th>D</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>K0</td>\n",
" <td>A0</td>\n",
" <td>B0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>K4</td>\n",
" <td>A1</td>\n",
" <td>B1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>K2</td>\n",
" <td>A2</td>\n",
" <td>B2</td>\n",
" <td>C2</td>\n",
" <td>D2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>K3</td>\n",
" <td>A3</td>\n",
" <td>B3</td>\n",
" <td>C3</td>\n",
" <td>D3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>K</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>C0</td>\n",
" <td>D0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>K1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>C1</td>\n",
" <td>D1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" key A B C D\n",
"0 K0 A0 B0 NaN NaN\n",
"1 K4 A1 B1 NaN NaN\n",
"2 K2 A2 B2 C2 D2\n",
"3 K3 A3 B3 C3 D3\n",
"4 K NaN NaN C0 D0\n",
"5 K1 NaN NaN C1 D1"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.merge(left, right, on='key', how='outer')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7dfd21a0",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "bc30bc67",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "87b59e6b",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "6f6aab65",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "91cf58bb",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "1400512d",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "f3e5f33d",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "60e135a2",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "5b2f5d5e",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}