{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "9장. Pandas",
"provenance": [],
"authorship_tag": "ABX9TyPAZAcH62mbzYDF5WCA/FhH",
"include_colab_link": true
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
""
]
},
{
"cell_type": "code",
"metadata": {
"id": "yBQ5JN4S5EL2",
"outputId": "2f82a4e1-86cd-4aa7-f70b-253ed5fd9a5b",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"import pandas as pd\n",
"\n",
"df1 = pd.DataFrame({\n",
" \"a\":[40, 70, 10],\n",
" \"b\":[50, 80, 20],\n",
" \"c\":[60, 90, 30]},\n",
" index=[1, 2, 3])\n",
"print(df1)"
],
"execution_count": 55,
"outputs": [
{
"output_type": "stream",
"text": [
" a b c\n",
"1 40 50 60\n",
"2 70 80 90\n",
"3 10 20 30\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "HAh6K96G57qT",
"outputId": "f163082f-dd93-4e20-ef33-c9084cca1753",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"df2 = pd.DataFrame([\n",
" [41, 51, 61],\n",
" [71, 81, 91],\n",
" [11, 21, 31]],\n",
" index=[1, 2, 3],\n",
" columns=['a', 'b', 'c'])\n",
"print(df2)"
],
"execution_count": 56,
"outputs": [
{
"output_type": "stream",
"text": [
" a b c\n",
"1 41 51 61\n",
"2 71 81 91\n",
"3 11 21 31\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ocjOkQNr6LDR",
"outputId": "97c88028-486d-44d6-d6b9-723e63373613",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"df3 = pd.concat( [ df1, df2 ] )\n",
"print(df3)"
],
"execution_count": 57,
"outputs": [
{
"output_type": "stream",
"text": [
" a b c\n",
"1 40 50 60\n",
"2 70 80 90\n",
"3 10 20 30\n",
"1 41 51 61\n",
"2 71 81 91\n",
"3 11 21 31\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "MMaSrr5c635o",
"outputId": "a8429916-3689-424e-bf4e-c7c0834ebb7b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 136
}
},
"source": [
"pd.concat([df1,df2], axis=1)"
],
"execution_count": 58,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" a | \n",
" b | \n",
" c | \n",
" a | \n",
" b | \n",
" c | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 40 | \n",
" 50 | \n",
" 60 | \n",
" 41 | \n",
" 51 | \n",
" 61 | \n",
"
\n",
" \n",
" 2 | \n",
" 70 | \n",
" 80 | \n",
" 90 | \n",
" 71 | \n",
" 81 | \n",
" 91 | \n",
"
\n",
" \n",
" 3 | \n",
" 10 | \n",
" 20 | \n",
" 30 | \n",
" 11 | \n",
" 21 | \n",
" 31 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" a b c a b c\n",
"1 40 50 60 41 51 61\n",
"2 70 80 90 71 81 91\n",
"3 10 20 30 11 21 31"
]
},
"metadata": {
"tags": []
},
"execution_count": 58
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "sWSOPAl1Vx5b",
"outputId": "3534fc44-60be-498f-83de-41c65482d95e",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"df3 = df3.reset_index()\n",
"print(df3)"
],
"execution_count": 59,
"outputs": [
{
"output_type": "stream",
"text": [
" index a b c\n",
"0 1 40 50 60\n",
"1 2 70 80 90\n",
"2 3 10 20 30\n",
"3 1 41 51 61\n",
"4 2 71 81 91\n",
"5 3 11 21 31\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "RzSL26MrV82A",
"outputId": "ddba4306-f427-4344-d49d-161b289fc016",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"df3 = df3.drop(columns=['index'])\n",
"print(df3)"
],
"execution_count": 60,
"outputs": [
{
"output_type": "stream",
"text": [
" a b c\n",
"0 40 50 60\n",
"1 70 80 90\n",
"2 10 20 30\n",
"3 41 51 61\n",
"4 71 81 91\n",
"5 11 21 31\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "tmmjfvSgWCSQ",
"outputId": "2f7fc6d5-603a-41df-9d25-a0472e9f5297",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"df4 = pd.melt(df3)\n",
"print(df4)"
],
"execution_count": 61,
"outputs": [
{
"output_type": "stream",
"text": [
" variable value\n",
"0 a 40\n",
"1 a 70\n",
"2 a 10\n",
"3 a 41\n",
"4 a 71\n",
"5 a 11\n",
"6 b 50\n",
"7 b 80\n",
"8 b 20\n",
"9 b 51\n",
"10 b 81\n",
"11 b 21\n",
"12 c 60\n",
"13 c 90\n",
"14 c 30\n",
"15 c 61\n",
"16 c 91\n",
"17 c 31\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "RR7kWEUrWFLR",
"outputId": "2cfa98f5-799e-4c8a-ef05-acc595d65fc0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 580
}
},
"source": [
"df4.sort_values('value')"
],
"execution_count": 62,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" variable | \n",
" value | \n",
"
\n",
" \n",
" \n",
" \n",
" 2 | \n",
" a | \n",
" 10 | \n",
"
\n",
" \n",
" 5 | \n",
" a | \n",
" 11 | \n",
"
\n",
" \n",
" 8 | \n",
" b | \n",
" 20 | \n",
"
\n",
" \n",
" 11 | \n",
" b | \n",
" 21 | \n",
"
\n",
" \n",
" 14 | \n",
" c | \n",
" 30 | \n",
"
\n",
" \n",
" 17 | \n",
" c | \n",
" 31 | \n",
"
\n",
" \n",
" 0 | \n",
" a | \n",
" 40 | \n",
"
\n",
" \n",
" 3 | \n",
" a | \n",
" 41 | \n",
"
\n",
" \n",
" 6 | \n",
" b | \n",
" 50 | \n",
"
\n",
" \n",
" 9 | \n",
" b | \n",
" 51 | \n",
"
\n",
" \n",
" 12 | \n",
" c | \n",
" 60 | \n",
"
\n",
" \n",
" 15 | \n",
" c | \n",
" 61 | \n",
"
\n",
" \n",
" 1 | \n",
" a | \n",
" 70 | \n",
"
\n",
" \n",
" 4 | \n",
" a | \n",
" 71 | \n",
"
\n",
" \n",
" 7 | \n",
" b | \n",
" 80 | \n",
"
\n",
" \n",
" 10 | \n",
" b | \n",
" 81 | \n",
"
\n",
" \n",
" 13 | \n",
" c | \n",
" 90 | \n",
"
\n",
" \n",
" 16 | \n",
" c | \n",
" 91 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" variable value\n",
"2 a 10\n",
"5 a 11\n",
"8 b 20\n",
"11 b 21\n",
"14 c 30\n",
"17 c 31\n",
"0 a 40\n",
"3 a 41\n",
"6 b 50\n",
"9 b 51\n",
"12 c 60\n",
"15 c 61\n",
"1 a 70\n",
"4 a 71\n",
"7 b 80\n",
"10 b 81\n",
"13 c 90\n",
"16 c 91"
]
},
"metadata": {
"tags": []
},
"execution_count": 62
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "0W4tOMLKWNS4",
"outputId": "55c9008b-a17c-4270-ec62-3408db74c402",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 580
}
},
"source": [
"df4.sort_values('value', ascending=False)"
],
"execution_count": 63,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" variable | \n",
" value | \n",
"
\n",
" \n",
" \n",
" \n",
" 16 | \n",
" c | \n",
" 91 | \n",
"
\n",
" \n",
" 13 | \n",
" c | \n",
" 90 | \n",
"
\n",
" \n",
" 10 | \n",
" b | \n",
" 81 | \n",
"
\n",
" \n",
" 7 | \n",
" b | \n",
" 80 | \n",
"
\n",
" \n",
" 4 | \n",
" a | \n",
" 71 | \n",
"
\n",
" \n",
" 1 | \n",
" a | \n",
" 70 | \n",
"
\n",
" \n",
" 15 | \n",
" c | \n",
" 61 | \n",
"
\n",
" \n",
" 12 | \n",
" c | \n",
" 60 | \n",
"
\n",
" \n",
" 9 | \n",
" b | \n",
" 51 | \n",
"
\n",
" \n",
" 6 | \n",
" b | \n",
" 50 | \n",
"
\n",
" \n",
" 3 | \n",
" a | \n",
" 41 | \n",
"
\n",
" \n",
" 0 | \n",
" a | \n",
" 40 | \n",
"
\n",
" \n",
" 17 | \n",
" c | \n",
" 31 | \n",
"
\n",
" \n",
" 14 | \n",
" c | \n",
" 30 | \n",
"
\n",
" \n",
" 11 | \n",
" b | \n",
" 21 | \n",
"
\n",
" \n",
" 8 | \n",
" b | \n",
" 20 | \n",
"
\n",
" \n",
" 5 | \n",
" a | \n",
" 11 | \n",
"
\n",
" \n",
" 2 | \n",
" a | \n",
" 10 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" variable value\n",
"16 c 91\n",
"13 c 90\n",
"10 b 81\n",
"7 b 80\n",
"4 a 71\n",
"1 a 70\n",
"15 c 61\n",
"12 c 60\n",
"9 b 51\n",
"6 b 50\n",
"3 a 41\n",
"0 a 40\n",
"17 c 31\n",
"14 c 30\n",
"11 b 21\n",
"8 b 20\n",
"5 a 11\n",
"2 a 10"
]
},
"metadata": {
"tags": []
},
"execution_count": 63
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "qkM8ihM4WS5P",
"outputId": "078fcf4b-59a0-46f1-f49a-9f05093952aa",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 314
}
},
"source": [
"df4.query('value>50')"
],
"execution_count": 64,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" variable | \n",
" value | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" a | \n",
" 70 | \n",
"
\n",
" \n",
" 4 | \n",
" a | \n",
" 71 | \n",
"
\n",
" \n",
" 7 | \n",
" b | \n",
" 80 | \n",
"
\n",
" \n",
" 9 | \n",
" b | \n",
" 51 | \n",
"
\n",
" \n",
" 10 | \n",
" b | \n",
" 81 | \n",
"
\n",
" \n",
" 12 | \n",
" c | \n",
" 60 | \n",
"
\n",
" \n",
" 13 | \n",
" c | \n",
" 90 | \n",
"
\n",
" \n",
" 15 | \n",
" c | \n",
" 61 | \n",
"
\n",
" \n",
" 16 | \n",
" c | \n",
" 91 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" variable value\n",
"1 a 70\n",
"4 a 71\n",
"7 b 80\n",
"9 b 51\n",
"10 b 81\n",
"12 c 60\n",
"13 c 90\n",
"15 c 61\n",
"16 c 91"
]
},
"metadata": {
"tags": []
},
"execution_count": 64
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "fJrOmd5oWUr3",
"outputId": "2855b761-3a2c-4993-f942-0e339e6c4fbd",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 136
}
},
"source": [
"df4.query('value>50').query('variable==\"b\"')"
],
"execution_count": 65,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" variable | \n",
" value | \n",
"
\n",
" \n",
" \n",
" \n",
" 7 | \n",
" b | \n",
" 80 | \n",
"
\n",
" \n",
" 9 | \n",
" b | \n",
" 51 | \n",
"
\n",
" \n",
" 10 | \n",
" b | \n",
" 81 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" variable value\n",
"7 b 80\n",
"9 b 51\n",
"10 b 81"
]
},
"metadata": {
"tags": []
},
"execution_count": 65
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "zXCJz4kXWYa3",
"outputId": "344a10f3-d26c-4b5d-c155-1183d770fa7c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 580
}
},
"source": [
"df4.rename(columns={'variable':'var', 'value':'val'})"
],
"execution_count": 66,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" var | \n",
" val | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" a | \n",
" 40 | \n",
"
\n",
" \n",
" 1 | \n",
" a | \n",
" 70 | \n",
"
\n",
" \n",
" 2 | \n",
" a | \n",
" 10 | \n",
"
\n",
" \n",
" 3 | \n",
" a | \n",
" 41 | \n",
"
\n",
" \n",
" 4 | \n",
" a | \n",
" 71 | \n",
"
\n",
" \n",
" 5 | \n",
" a | \n",
" 11 | \n",
"
\n",
" \n",
" 6 | \n",
" b | \n",
" 50 | \n",
"
\n",
" \n",
" 7 | \n",
" b | \n",
" 80 | \n",
"
\n",
" \n",
" 8 | \n",
" b | \n",
" 20 | \n",
"
\n",
" \n",
" 9 | \n",
" b | \n",
" 51 | \n",
"
\n",
" \n",
" 10 | \n",
" b | \n",
" 81 | \n",
"
\n",
" \n",
" 11 | \n",
" b | \n",
" 21 | \n",
"
\n",
" \n",
" 12 | \n",
" c | \n",
" 60 | \n",
"
\n",
" \n",
" 13 | \n",
" c | \n",
" 90 | \n",
"
\n",
" \n",
" 14 | \n",
" c | \n",
" 30 | \n",
"
\n",
" \n",
" 15 | \n",
" c | \n",
" 61 | \n",
"
\n",
" \n",
" 16 | \n",
" c | \n",
" 91 | \n",
"
\n",
" \n",
" 17 | \n",
" c | \n",
" 31 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" var val\n",
"0 a 40\n",
"1 a 70\n",
"2 a 10\n",
"3 a 41\n",
"4 a 71\n",
"5 a 11\n",
"6 b 50\n",
"7 b 80\n",
"8 b 20\n",
"9 b 51\n",
"10 b 81\n",
"11 b 21\n",
"12 c 60\n",
"13 c 90\n",
"14 c 30\n",
"15 c 61\n",
"16 c 91\n",
"17 c 31"
]
},
"metadata": {
"tags": []
},
"execution_count": 66
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "EFWRsm6JWcNP",
"outputId": "1e13eaf8-1ed7-4d12-f0e0-bd51235c3233",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"df4['variable'].drop_duplicates()"
],
"execution_count": 67,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0 a\n",
"6 b\n",
"12 c\n",
"Name: variable, dtype: object"
]
},
"metadata": {
"tags": []
},
"execution_count": 67
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ny6fxhS4Wfq_",
"outputId": "701734b3-f0a9-4be0-eaaa-9cdd3ac8028f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 195
}
},
"source": [
"df4.head(5)"
],
"execution_count": 68,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" variable | \n",
" value | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" a | \n",
" 40 | \n",
"
\n",
" \n",
" 1 | \n",
" a | \n",
" 70 | \n",
"
\n",
" \n",
" 2 | \n",
" a | \n",
" 10 | \n",
"
\n",
" \n",
" 3 | \n",
" a | \n",
" 41 | \n",
"
\n",
" \n",
" 4 | \n",
" a | \n",
" 71 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" variable value\n",
"0 a 40\n",
"1 a 70\n",
"2 a 10\n",
"3 a 41\n",
"4 a 71"
]
},
"metadata": {
"tags": []
},
"execution_count": 68
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Zpa_HVY4WiwX",
"outputId": "25ae4f2b-cbb3-4d9a-fdc5-592e30fde852",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 195
}
},
"source": [
"df4.tail(5)"
],
"execution_count": 69,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" variable | \n",
" value | \n",
"
\n",
" \n",
" \n",
" \n",
" 13 | \n",
" c | \n",
" 90 | \n",
"
\n",
" \n",
" 14 | \n",
" c | \n",
" 30 | \n",
"
\n",
" \n",
" 15 | \n",
" c | \n",
" 61 | \n",
"
\n",
" \n",
" 16 | \n",
" c | \n",
" 91 | \n",
"
\n",
" \n",
" 17 | \n",
" c | \n",
" 31 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" variable value\n",
"13 c 90\n",
"14 c 30\n",
"15 c 61\n",
"16 c 91\n",
"17 c 31"
]
},
"metadata": {
"tags": []
},
"execution_count": 69
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "UWTW_tQGBK2q",
"outputId": "67a9506a-2701-4df2-a25f-2ef079c637d7",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"import pandas as pd\n",
"\n",
"leftDF = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1,2,3,4]}) \n",
"rightDF = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5,6,7,8]})\n",
"\n",
"print(leftDF)\n",
"print(rightDF)"
],
"execution_count": 70,
"outputs": [
{
"output_type": "stream",
"text": [
" key value\n",
"0 A 1\n",
"1 B 2\n",
"2 C 3\n",
"3 D 4\n",
" key value\n",
"0 B 5\n",
"1 D 6\n",
"2 E 7\n",
"3 F 8\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "6dBz_7-BE5qB",
"outputId": "dbea2f12-4317-40ea-8408-41d110b628b6",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 106
}
},
"source": [
"# leftDF.merge(rightDF, on='key')\n",
"# leftDF.merge(rightDF, on='key', how='inner')\n",
"pd.merge(leftDF, rightDF, on='key', how='inner')"
],
"execution_count": 71,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" key | \n",
" value_x | \n",
" value_y | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" B | \n",
" 2 | \n",
" 5 | \n",
"
\n",
" \n",
" 1 | \n",
" D | \n",
" 4 | \n",
" 6 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" key value_x value_y\n",
"0 B 2 5\n",
"1 D 4 6"
]
},
"metadata": {
"tags": []
},
"execution_count": 71
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "4cYtEHYCFdNd",
"outputId": "cb681ada-5d90-4054-b442-518a09b070f9",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 166
}
},
"source": [
"# leftDF.merge(rightDF, on='key', how='left')\n",
"pd.merge(leftDF, rightDF, on='key', how='left')"
],
"execution_count": 72,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" key | \n",
" value_x | \n",
" value_y | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" A | \n",
" 1 | \n",
" NaN | \n",
"
\n",
" \n",
" 1 | \n",
" B | \n",
" 2 | \n",
" 5.0 | \n",
"
\n",
" \n",
" 2 | \n",
" C | \n",
" 3 | \n",
" NaN | \n",
"
\n",
" \n",
" 3 | \n",
" D | \n",
" 4 | \n",
" 6.0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" key value_x value_y\n",
"0 A 1 NaN\n",
"1 B 2 5.0\n",
"2 C 3 NaN\n",
"3 D 4 6.0"
]
},
"metadata": {
"tags": []
},
"execution_count": 72
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "wJgA5QmBFd9x",
"outputId": "7f61bdb3-f5d1-4167-bb50-eedf49cfd192",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 166
}
},
"source": [
"# leftDF.merge(rightDF, on='key', how='right')\n",
"pd.merge(leftDF, rightDF, on='key', how='right')"
],
"execution_count": 73,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" key | \n",
" value_x | \n",
" value_y | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" B | \n",
" 2.0 | \n",
" 5 | \n",
"
\n",
" \n",
" 1 | \n",
" D | \n",
" 4.0 | \n",
" 6 | \n",
"
\n",
" \n",
" 2 | \n",
" E | \n",
" NaN | \n",
" 7 | \n",
"
\n",
" \n",
" 3 | \n",
" F | \n",
" NaN | \n",
" 8 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" key value_x value_y\n",
"0 B 2.0 5\n",
"1 D 4.0 6\n",
"2 E NaN 7\n",
"3 F NaN 8"
]
},
"metadata": {
"tags": []
},
"execution_count": 73
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "hrVOXRNGF50n",
"outputId": "6b5cec37-487c-495c-d6d9-0946967ebe88",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 225
}
},
"source": [
"# leftDF.merge(rightDF, on='key', how='outer')\n",
"pd.merge(leftDF, rightDF, on='key', how='outer')"
],
"execution_count": 74,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" key | \n",
" value_x | \n",
" value_y | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" A | \n",
" 1.0 | \n",
" NaN | \n",
"
\n",
" \n",
" 1 | \n",
" B | \n",
" 2.0 | \n",
" 5.0 | \n",
"
\n",
" \n",
" 2 | \n",
" C | \n",
" 3.0 | \n",
" NaN | \n",
"
\n",
" \n",
" 3 | \n",
" D | \n",
" 4.0 | \n",
" 6.0 | \n",
"
\n",
" \n",
" 4 | \n",
" E | \n",
" NaN | \n",
" 7.0 | \n",
"
\n",
" \n",
" 5 | \n",
" F | \n",
" NaN | \n",
" 8.0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" key value_x value_y\n",
"0 A 1.0 NaN\n",
"1 B 2.0 5.0\n",
"2 C 3.0 NaN\n",
"3 D 4.0 6.0\n",
"4 E NaN 7.0\n",
"5 F NaN 8.0"
]
},
"metadata": {
"tags": []
},
"execution_count": 74
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "uPYzR28NGEF3"
},
"source": [
""
],
"execution_count": 74,
"outputs": []
}
]
}