0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonのデータ結合(concat,merge : left,right,inner,outer)の復習

Posted at

Shimodasと申します。
Python初心者が躓きやすいデータ結合について復習する機会があったのでまとめます。

Score.csv:sc

https://prod-files-secure.s3.us-west-2.amazonaws.com/d347ddad-6ead-4ad9-a590-fe87a29e79b9/6f2086cd-2ad9-4b13-a41b-217309947972/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466TEQWVV3M%2F20250929%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250929T225321Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFYaCXVzLXdlc3QtMiJGMEQCIE%2FuHZQ%2BGboXOGEeUKJG63wv%2BGGaKnfH2UXqaSAs%2B40TAiBWBl7SYVnFYEMv4HxzFGy3HBzVVOMx6wmQ1seYHxKZ9iqIBAjf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAAaDDYzNzQyMzE4MzgwNSIMWbuioVsHrdujZUvwKtwD%2Fxd6Y1Cm%2FPRsSyJw2l7n29LEHda5lH5B15rqfL6%2Fd4lpg1MIj%2F%2FijOfTzWcWOEjOs%2FPAakvO5vPvrdSGhyXHUH5cKaMCpGihL%2F%2B0QQ5R34nJW22oJs2WdIcbd%2BVn0tWLfbSkMZXhlZ4182bLsC1hspMeAqwJA6aZ0AaQh5xpKavTwjVD5DtiaAqc4hVNaWaIU7FsMy3nxFQOFfB38Q5NM%2Bw5p9n%2BZd0gheo0%2BFSidYXL3LDmcuT%2BJirT7LixlSDg9SrQwuTZMWjknJByws4alYJeArlFWG%2FY4EQqDuZ%2BOkxI794P6sSp5WhpZZ9bKj3exEFJrRE45yNvdtUO6WhU4Kh1evwo0LozThmzqMC%2BREfolGoEQBavtyrapLUfNGlwOPKHrIzRv8x%2BJ4U%2F%2BuKGCc3CEk%2FYrE%2BR6vFbH3ki%2Bod02OoCNYywvEA9r2gjZYQLcfWfv5ITjBsdxEfvmjuvMqYR6vBhFvBykGlHdHD0YGPer6Kb6i0heclw%2FkpImgNl48X3tTgzKnupsaArMYiPUVWy9Ab0cn%2FVjpBAPmUvRatxIYyqKBV62nUIIOy4Lgfa6uxJf8drLTznBNC%2Bhg1jbKFxcpOEoA%2FOHAdOxvh1kbA7ymjk772FdAfJKIkwt4DsxgY6pgHKv4IBLB3%2FpOUrThDDFkg14PZ8xB8oCcH5TOl5cqU0CUVej2OQP7y9sVRNN7j6%2F7gEr%2F2qiFns%2F81uxK%2F783INYvyBWMBRCoUevzMF71qS9WRSBcOeM%2Fk30nXYLp3GlN7T59R1uJuLkMOLV%2F3n6O8CxL7aNwLkXkCktg8nJq5NypLdiv0GFWVu8Q%2FPzkBmTSAhqTU0CjLoCevMlSHgM33XhU3ahCi6&X-Amz-Signature=b9e005513f784369071374a34b2117cf793e6d3d964d4aa0fb1c55f1a1daa6a3&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject

Student.csv:st

https://prod-files-secure.s3.us-west-2.amazonaws.com/d347ddad-6ead-4ad9-a590-fe87a29e79b9/4aea42bd-7685-43c5-9fd7-ce48ddce755d/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466TEQWVV3M%2F20250929%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250929T225321Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFYaCXVzLXdlc3QtMiJGMEQCIE%2FuHZQ%2BGboXOGEeUKJG63wv%2BGGaKnfH2UXqaSAs%2B40TAiBWBl7SYVnFYEMv4HxzFGy3HBzVVOMx6wmQ1seYHxKZ9iqIBAjf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAAaDDYzNzQyMzE4MzgwNSIMWbuioVsHrdujZUvwKtwD%2Fxd6Y1Cm%2FPRsSyJw2l7n29LEHda5lH5B15rqfL6%2Fd4lpg1MIj%2F%2FijOfTzWcWOEjOs%2FPAakvO5vPvrdSGhyXHUH5cKaMCpGihL%2F%2B0QQ5R34nJW22oJs2WdIcbd%2BVn0tWLfbSkMZXhlZ4182bLsC1hspMeAqwJA6aZ0AaQh5xpKavTwjVD5DtiaAqc4hVNaWaIU7FsMy3nxFQOFfB38Q5NM%2Bw5p9n%2BZd0gheo0%2BFSidYXL3LDmcuT%2BJirT7LixlSDg9SrQwuTZMWjknJByws4alYJeArlFWG%2FY4EQqDuZ%2BOkxI794P6sSp5WhpZZ9bKj3exEFJrRE45yNvdtUO6WhU4Kh1evwo0LozThmzqMC%2BREfolGoEQBavtyrapLUfNGlwOPKHrIzRv8x%2BJ4U%2F%2BuKGCc3CEk%2FYrE%2BR6vFbH3ki%2Bod02OoCNYywvEA9r2gjZYQLcfWfv5ITjBsdxEfvmjuvMqYR6vBhFvBykGlHdHD0YGPer6Kb6i0heclw%2FkpImgNl48X3tTgzKnupsaArMYiPUVWy9Ab0cn%2FVjpBAPmUvRatxIYyqKBV62nUIIOy4Lgfa6uxJf8drLTznBNC%2Bhg1jbKFxcpOEoA%2FOHAdOxvh1kbA7ymjk772FdAfJKIkwt4DsxgY6pgHKv4IBLB3%2FpOUrThDDFkg14PZ8xB8oCcH5TOl5cqU0CUVej2OQP7y9sVRNN7j6%2F7gEr%2F2qiFns%2F81uxK%2F783INYvyBWMBRCoUevzMF71qS9WRSBcOeM%2Fk30nXYLp3GlN7T59R1uJuLkMOLV%2F3n6O8CxL7aNwLkXkCktg8nJq5NypLdiv0GFWVu8Q%2FPzkBmTSAhqTU0CjLoCevMlSHgM33XhU3ahCi6&X-Amz-Signature=3fe1a1b727b5c364ef65368e64d99595777621e78c62d2af530b44385f1241d5&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject

GPTに比較表を出してもらった

種類 処理内容 結果の特徴 サンプル出力
concat (axis=0: 縦結合) データを上下にくっつける📚 同じ列名があれば並ぶけど、違う列は NaN 入る id=1,2 は value NaN、id=5,6 は name NaN
concat (axis=1: 横結合) データを横に並べる📒 index 基準で結合、ズレると NaN 発生 name と value が横並びだけど、id 5,6 は NaN
inner join 共通するキーだけ取り出す✨ 両方に存在する id のみ残る id=3,4 のみ表示
left join 左(df1)を基準に結合💅 df1 全部残る、df2 にないと NaN id=1,2 が残るけど value NaN
right join 右(df2)を基準に結合💎 df2 全部残る、df1 にないと NaN id=5,6 が残るけど name NaN
outer join 両方のデータを全部含める🌍 どっちにもない値は NaN 埋め id=1〜6 ぜんぶ出てくる

AI時代は1次情報こそ大事。ということで順に触れていこう。

df = pd.concat([sc,st],axis=0)

df = pd.concat([sc,st])

https://prod-files-secure.s3.us-west-2.amazonaws.com/d347ddad-6ead-4ad9-a590-fe87a29e79b9/8cf7ded0-e89f-44c7-9868-f1ddc83b5a32/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466TEQWVV3M%2F20250929%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250929T225321Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFYaCXVzLXdlc3QtMiJGMEQCIE%2FuHZQ%2BGboXOGEeUKJG63wv%2BGGaKnfH2UXqaSAs%2B40TAiBWBl7SYVnFYEMv4HxzFGy3HBzVVOMx6wmQ1seYHxKZ9iqIBAjf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAAaDDYzNzQyMzE4MzgwNSIMWbuioVsHrdujZUvwKtwD%2Fxd6Y1Cm%2FPRsSyJw2l7n29LEHda5lH5B15rqfL6%2Fd4lpg1MIj%2F%2FijOfTzWcWOEjOs%2FPAakvO5vPvrdSGhyXHUH5cKaMCpGihL%2F%2B0QQ5R34nJW22oJs2WdIcbd%2BVn0tWLfbSkMZXhlZ4182bLsC1hspMeAqwJA6aZ0AaQh5xpKavTwjVD5DtiaAqc4hVNaWaIU7FsMy3nxFQOFfB38Q5NM%2Bw5p9n%2BZd0gheo0%2BFSidYXL3LDmcuT%2BJirT7LixlSDg9SrQwuTZMWjknJByws4alYJeArlFWG%2FY4EQqDuZ%2BOkxI794P6sSp5WhpZZ9bKj3exEFJrRE45yNvdtUO6WhU4Kh1evwo0LozThmzqMC%2BREfolGoEQBavtyrapLUfNGlwOPKHrIzRv8x%2BJ4U%2F%2BuKGCc3CEk%2FYrE%2BR6vFbH3ki%2Bod02OoCNYywvEA9r2gjZYQLcfWfv5ITjBsdxEfvmjuvMqYR6vBhFvBykGlHdHD0YGPer6Kb6i0heclw%2FkpImgNl48X3tTgzKnupsaArMYiPUVWy9Ab0cn%2FVjpBAPmUvRatxIYyqKBV62nUIIOy4Lgfa6uxJf8drLTznBNC%2Bhg1jbKFxcpOEoA%2FOHAdOxvh1kbA7ymjk772FdAfJKIkwt4DsxgY6pgHKv4IBLB3%2FpOUrThDDFkg14PZ8xB8oCcH5TOl5cqU0CUVej2OQP7y9sVRNN7j6%2F7gEr%2F2qiFns%2F81uxK%2F783INYvyBWMBRCoUevzMF71qS9WRSBcOeM%2Fk30nXYLp3GlN7T59R1uJuLkMOLV%2F3n6O8CxL7aNwLkXkCktg8nJq5NypLdiv0GFWVu8Q%2FPzkBmTSAhqTU0CjLoCevMlSHgM33XhU3ahCi6&X-Amz-Signature=1dcf72f2e28d0bc7b8c8638bdeb8cb59c3d94cc1ec2f970a7efd2d3046095311&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject

index順で縦にそのままくっつけた,って感じ?
ちなみに軸を指定しない場合は axis=0 (デフォルト設定)

df = pd.concat([sc,st],axis=1)

https://prod-files-secure.s3.us-west-2.amazonaws.com/d347ddad-6ead-4ad9-a590-fe87a29e79b9/fbfa0da6-bdce-452c-928c-b1c9f60a97c4/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466TEQWVV3M%2F20250929%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250929T225321Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFYaCXVzLXdlc3QtMiJGMEQCIE%2FuHZQ%2BGboXOGEeUKJG63wv%2BGGaKnfH2UXqaSAs%2B40TAiBWBl7SYVnFYEMv4HxzFGy3HBzVVOMx6wmQ1seYHxKZ9iqIBAjf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAAaDDYzNzQyMzE4MzgwNSIMWbuioVsHrdujZUvwKtwD%2Fxd6Y1Cm%2FPRsSyJw2l7n29LEHda5lH5B15rqfL6%2Fd4lpg1MIj%2F%2FijOfTzWcWOEjOs%2FPAakvO5vPvrdSGhyXHUH5cKaMCpGihL%2F%2B0QQ5R34nJW22oJs2WdIcbd%2BVn0tWLfbSkMZXhlZ4182bLsC1hspMeAqwJA6aZ0AaQh5xpKavTwjVD5DtiaAqc4hVNaWaIU7FsMy3nxFQOFfB38Q5NM%2Bw5p9n%2BZd0gheo0%2BFSidYXL3LDmcuT%2BJirT7LixlSDg9SrQwuTZMWjknJByws4alYJeArlFWG%2FY4EQqDuZ%2BOkxI794P6sSp5WhpZZ9bKj3exEFJrRE45yNvdtUO6WhU4Kh1evwo0LozThmzqMC%2BREfolGoEQBavtyrapLUfNGlwOPKHrIzRv8x%2BJ4U%2F%2BuKGCc3CEk%2FYrE%2BR6vFbH3ki%2Bod02OoCNYywvEA9r2gjZYQLcfWfv5ITjBsdxEfvmjuvMqYR6vBhFvBykGlHdHD0YGPer6Kb6i0heclw%2FkpImgNl48X3tTgzKnupsaArMYiPUVWy9Ab0cn%2FVjpBAPmUvRatxIYyqKBV62nUIIOy4Lgfa6uxJf8drLTznBNC%2Bhg1jbKFxcpOEoA%2FOHAdOxvh1kbA7ymjk772FdAfJKIkwt4DsxgY6pgHKv4IBLB3%2FpOUrThDDFkg14PZ8xB8oCcH5TOl5cqU0CUVej2OQP7y9sVRNN7j6%2F7gEr%2F2qiFns%2F81uxK%2F783INYvyBWMBRCoUevzMF71qS9WRSBcOeM%2Fk30nXYLp3GlN7T59R1uJuLkMOLV%2F3n6O8CxL7aNwLkXkCktg8nJq5NypLdiv0GFWVu8Q%2FPzkBmTSAhqTU0CjLoCevMlSHgM33XhU3ahCi6&X-Amz-Signature=c70a3aa0c88d7ac52832d80501857172395f6c229cbcf0341d14cc8e2b80c47b&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject

こっちはindexを軸にして横にそのままくっつけた感じかな?

concatのまとめ

種類 処理内容 結果の特徴 サンプル出力
concat (axis=0: 縦結合) データを上下にくっつける📚 同じ列名があれば並ぶけど、違う列は NaN 入る id=1,2 は value NaN、id=5,6 は name NaN
concat (axis=1: 横結合) データを横に並べる📒 index 基準で結合、ズレると NaN 発生 name と value が横並びだけど、id 5,6 は NaN

たしかに,student_id のカラムは1つに統合されていたっぽい。

df = pd.merge(sc,st)

df = pd.merge(sc,st,how=”inner”)

https://prod-files-secure.s3.us-west-2.amazonaws.com/d347ddad-6ead-4ad9-a590-fe87a29e79b9/75e39a85-f795-4169-9507-8583a36130f7/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466TEQWVV3M%2F20250929%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250929T225321Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFYaCXVzLXdlc3QtMiJGMEQCIE%2FuHZQ%2BGboXOGEeUKJG63wv%2BGGaKnfH2UXqaSAs%2B40TAiBWBl7SYVnFYEMv4HxzFGy3HBzVVOMx6wmQ1seYHxKZ9iqIBAjf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAAaDDYzNzQyMzE4MzgwNSIMWbuioVsHrdujZUvwKtwD%2Fxd6Y1Cm%2FPRsSyJw2l7n29LEHda5lH5B15rqfL6%2Fd4lpg1MIj%2F%2FijOfTzWcWOEjOs%2FPAakvO5vPvrdSGhyXHUH5cKaMCpGihL%2F%2B0QQ5R34nJW22oJs2WdIcbd%2BVn0tWLfbSkMZXhlZ4182bLsC1hspMeAqwJA6aZ0AaQh5xpKavTwjVD5DtiaAqc4hVNaWaIU7FsMy3nxFQOFfB38Q5NM%2Bw5p9n%2BZd0gheo0%2BFSidYXL3LDmcuT%2BJirT7LixlSDg9SrQwuTZMWjknJByws4alYJeArlFWG%2FY4EQqDuZ%2BOkxI794P6sSp5WhpZZ9bKj3exEFJrRE45yNvdtUO6WhU4Kh1evwo0LozThmzqMC%2BREfolGoEQBavtyrapLUfNGlwOPKHrIzRv8x%2BJ4U%2F%2BuKGCc3CEk%2FYrE%2BR6vFbH3ki%2Bod02OoCNYywvEA9r2gjZYQLcfWfv5ITjBsdxEfvmjuvMqYR6vBhFvBykGlHdHD0YGPer6Kb6i0heclw%2FkpImgNl48X3tTgzKnupsaArMYiPUVWy9Ab0cn%2FVjpBAPmUvRatxIYyqKBV62nUIIOy4Lgfa6uxJf8drLTznBNC%2Bhg1jbKFxcpOEoA%2FOHAdOxvh1kbA7ymjk772FdAfJKIkwt4DsxgY6pgHKv4IBLB3%2FpOUrThDDFkg14PZ8xB8oCcH5TOl5cqU0CUVej2OQP7y9sVRNN7j6%2F7gEr%2F2qiFns%2F81uxK%2F783INYvyBWMBRCoUevzMF71qS9WRSBcOeM%2Fk30nXYLp3GlN7T59R1uJuLkMOLV%2F3n6O8CxL7aNwLkXkCktg8nJq5NypLdiv0GFWVu8Q%2FPzkBmTSAhqTU0CjLoCevMlSHgM33XhU3ahCi6&X-Amz-Signature=b27a2cb70650bf70c8b52b7a4f3a2622319abba47c9ff81e30b3a11eb1d4a235&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject

共通するカラム”student_id”を軸に結合
id共通しない部分は削除,NaN発生しない

df = pd.merge(sc,st,how=”left”)

https://prod-files-secure.s3.us-west-2.amazonaws.com/d347ddad-6ead-4ad9-a590-fe87a29e79b9/6b1fbd08-aaba-4287-a865-c1586c232fae/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466TEQWVV3M%2F20250929%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250929T225321Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFYaCXVzLXdlc3QtMiJGMEQCIE%2FuHZQ%2BGboXOGEeUKJG63wv%2BGGaKnfH2UXqaSAs%2B40TAiBWBl7SYVnFYEMv4HxzFGy3HBzVVOMx6wmQ1seYHxKZ9iqIBAjf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAAaDDYzNzQyMzE4MzgwNSIMWbuioVsHrdujZUvwKtwD%2Fxd6Y1Cm%2FPRsSyJw2l7n29LEHda5lH5B15rqfL6%2Fd4lpg1MIj%2F%2FijOfTzWcWOEjOs%2FPAakvO5vPvrdSGhyXHUH5cKaMCpGihL%2F%2B0QQ5R34nJW22oJs2WdIcbd%2BVn0tWLfbSkMZXhlZ4182bLsC1hspMeAqwJA6aZ0AaQh5xpKavTwjVD5DtiaAqc4hVNaWaIU7FsMy3nxFQOFfB38Q5NM%2Bw5p9n%2BZd0gheo0%2BFSidYXL3LDmcuT%2BJirT7LixlSDg9SrQwuTZMWjknJByws4alYJeArlFWG%2FY4EQqDuZ%2BOkxI794P6sSp5WhpZZ9bKj3exEFJrRE45yNvdtUO6WhU4Kh1evwo0LozThmzqMC%2BREfolGoEQBavtyrapLUfNGlwOPKHrIzRv8x%2BJ4U%2F%2BuKGCc3CEk%2FYrE%2BR6vFbH3ki%2Bod02OoCNYywvEA9r2gjZYQLcfWfv5ITjBsdxEfvmjuvMqYR6vBhFvBykGlHdHD0YGPer6Kb6i0heclw%2FkpImgNl48X3tTgzKnupsaArMYiPUVWy9Ab0cn%2FVjpBAPmUvRatxIYyqKBV62nUIIOy4Lgfa6uxJf8drLTznBNC%2Bhg1jbKFxcpOEoA%2FOHAdOxvh1kbA7ymjk772FdAfJKIkwt4DsxgY6pgHKv4IBLB3%2FpOUrThDDFkg14PZ8xB8oCcH5TOl5cqU0CUVej2OQP7y9sVRNN7j6%2F7gEr%2F2qiFns%2F81uxK%2F783INYvyBWMBRCoUevzMF71qS9WRSBcOeM%2Fk30nXYLp3GlN7T59R1uJuLkMOLV%2F3n6O8CxL7aNwLkXkCktg8nJq5NypLdiv0GFWVu8Q%2FPzkBmTSAhqTU0CjLoCevMlSHgM33XhU3ahCi6&X-Amz-Signature=926da3c39d2e2c4be100ac46349dcf804533ddb82a6c503719459dadc5bb02f9&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject

left(左) = sc : 第1引数 のこと?
leftのカラムを基準に結合 → student_id=5の人はnameとgradeがNaNに

df=pd.merge(sc,st,how=”right”)

https://prod-files-secure.s3.us-west-2.amazonaws.com/d347ddad-6ead-4ad9-a590-fe87a29e79b9/b252861c-06a6-4fe4-a75b-22b1656cf326/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466TEQWVV3M%2F20250929%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250929T225321Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFYaCXVzLXdlc3QtMiJGMEQCIE%2FuHZQ%2BGboXOGEeUKJG63wv%2BGGaKnfH2UXqaSAs%2B40TAiBWBl7SYVnFYEMv4HxzFGy3HBzVVOMx6wmQ1seYHxKZ9iqIBAjf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAAaDDYzNzQyMzE4MzgwNSIMWbuioVsHrdujZUvwKtwD%2Fxd6Y1Cm%2FPRsSyJw2l7n29LEHda5lH5B15rqfL6%2Fd4lpg1MIj%2F%2FijOfTzWcWOEjOs%2FPAakvO5vPvrdSGhyXHUH5cKaMCpGihL%2F%2B0QQ5R34nJW22oJs2WdIcbd%2BVn0tWLfbSkMZXhlZ4182bLsC1hspMeAqwJA6aZ0AaQh5xpKavTwjVD5DtiaAqc4hVNaWaIU7FsMy3nxFQOFfB38Q5NM%2Bw5p9n%2BZd0gheo0%2BFSidYXL3LDmcuT%2BJirT7LixlSDg9SrQwuTZMWjknJByws4alYJeArlFWG%2FY4EQqDuZ%2BOkxI794P6sSp5WhpZZ9bKj3exEFJrRE45yNvdtUO6WhU4Kh1evwo0LozThmzqMC%2BREfolGoEQBavtyrapLUfNGlwOPKHrIzRv8x%2BJ4U%2F%2BuKGCc3CEk%2FYrE%2BR6vFbH3ki%2Bod02OoCNYywvEA9r2gjZYQLcfWfv5ITjBsdxEfvmjuvMqYR6vBhFvBykGlHdHD0YGPer6Kb6i0heclw%2FkpImgNl48X3tTgzKnupsaArMYiPUVWy9Ab0cn%2FVjpBAPmUvRatxIYyqKBV62nUIIOy4Lgfa6uxJf8drLTznBNC%2Bhg1jbKFxcpOEoA%2FOHAdOxvh1kbA7ymjk772FdAfJKIkwt4DsxgY6pgHKv4IBLB3%2FpOUrThDDFkg14PZ8xB8oCcH5TOl5cqU0CUVej2OQP7y9sVRNN7j6%2F7gEr%2F2qiFns%2F81uxK%2F783INYvyBWMBRCoUevzMF71qS9WRSBcOeM%2Fk30nXYLp3GlN7T59R1uJuLkMOLV%2F3n6O8CxL7aNwLkXkCktg8nJq5NypLdiv0GFWVu8Q%2FPzkBmTSAhqTU0CjLoCevMlSHgM33XhU3ahCi6&X-Amz-Signature=edf500f1975404e021e3b5cd3855408fbcee11db7ac1cc870fc30ee346a27e2e&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject

right(右) = st:第2引数のことみたい。
rightのカラムを基準に結合→Aliceちゃんは数学・英語の点数がNaNになった

df = pd.merge(sd,st,how=”outer”)

https://prod-files-secure.s3.us-west-2.amazonaws.com/d347ddad-6ead-4ad9-a590-fe87a29e79b9/63422616-6418-404c-b682-724c930826aa/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466TEQWVV3M%2F20250929%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250929T225321Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFYaCXVzLXdlc3QtMiJGMEQCIE%2FuHZQ%2BGboXOGEeUKJG63wv%2BGGaKnfH2UXqaSAs%2B40TAiBWBl7SYVnFYEMv4HxzFGy3HBzVVOMx6wmQ1seYHxKZ9iqIBAjf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAAaDDYzNzQyMzE4MzgwNSIMWbuioVsHrdujZUvwKtwD%2Fxd6Y1Cm%2FPRsSyJw2l7n29LEHda5lH5B15rqfL6%2Fd4lpg1MIj%2F%2FijOfTzWcWOEjOs%2FPAakvO5vPvrdSGhyXHUH5cKaMCpGihL%2F%2B0QQ5R34nJW22oJs2WdIcbd%2BVn0tWLfbSkMZXhlZ4182bLsC1hspMeAqwJA6aZ0AaQh5xpKavTwjVD5DtiaAqc4hVNaWaIU7FsMy3nxFQOFfB38Q5NM%2Bw5p9n%2BZd0gheo0%2BFSidYXL3LDmcuT%2BJirT7LixlSDg9SrQwuTZMWjknJByws4alYJeArlFWG%2FY4EQqDuZ%2BOkxI794P6sSp5WhpZZ9bKj3exEFJrRE45yNvdtUO6WhU4Kh1evwo0LozThmzqMC%2BREfolGoEQBavtyrapLUfNGlwOPKHrIzRv8x%2BJ4U%2F%2BuKGCc3CEk%2FYrE%2BR6vFbH3ki%2Bod02OoCNYywvEA9r2gjZYQLcfWfv5ITjBsdxEfvmjuvMqYR6vBhFvBykGlHdHD0YGPer6Kb6i0heclw%2FkpImgNl48X3tTgzKnupsaArMYiPUVWy9Ab0cn%2FVjpBAPmUvRatxIYyqKBV62nUIIOy4Lgfa6uxJf8drLTznBNC%2Bhg1jbKFxcpOEoA%2FOHAdOxvh1kbA7ymjk772FdAfJKIkwt4DsxgY6pgHKv4IBLB3%2FpOUrThDDFkg14PZ8xB8oCcH5TOl5cqU0CUVej2OQP7y9sVRNN7j6%2F7gEr%2F2qiFns%2F81uxK%2F783INYvyBWMBRCoUevzMF71qS9WRSBcOeM%2Fk30nXYLp3GlN7T59R1uJuLkMOLV%2F3n6O8CxL7aNwLkXkCktg8nJq5NypLdiv0GFWVu8Q%2FPzkBmTSAhqTU0CjLoCevMlSHgM33XhU3ahCi6&X-Amz-Signature=be4e3057b32490ecc08f52c1bdcfb3a0ff57c1ff37fa06117aaf118193187935&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject

left と right 両方やってる感じ。
student_idは共通のカラムなので統一されてる。

inner join 共通するキーだけ取り出す✨ 両方に存在する id のみ残る id=3,4 のみ表示
left join 左(df1)を基準に結合💅 df1 全部残る、df2 にないと NaN id=1,2 が残るけど value NaN
right join 右(df2)を基準に結合💎 df2 全部残る、df1 にないと NaN id=5,6 が残るけど name NaN
outer join 両方のデータを全部含める🌍 どっちにもない値は NaN 埋め id=1〜6 ぜんぶ出てくる

https://prod-files-secure.s3.us-west-2.amazonaws.com/d347ddad-6ead-4ad9-a590-fe87a29e79b9/9f9d060e-eae5-4f59-a32a-afdea59f708f/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAZI2LB466TEQWVV3M%2F20250929%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250929T225321Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEFYaCXVzLXdlc3QtMiJGMEQCIE%2FuHZQ%2BGboXOGEeUKJG63wv%2BGGaKnfH2UXqaSAs%2B40TAiBWBl7SYVnFYEMv4HxzFGy3HBzVVOMx6wmQ1seYHxKZ9iqIBAjf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F8BEAAaDDYzNzQyMzE4MzgwNSIMWbuioVsHrdujZUvwKtwD%2Fxd6Y1Cm%2FPRsSyJw2l7n29LEHda5lH5B15rqfL6%2Fd4lpg1MIj%2F%2FijOfTzWcWOEjOs%2FPAakvO5vPvrdSGhyXHUH5cKaMCpGihL%2F%2B0QQ5R34nJW22oJs2WdIcbd%2BVn0tWLfbSkMZXhlZ4182bLsC1hspMeAqwJA6aZ0AaQh5xpKavTwjVD5DtiaAqc4hVNaWaIU7FsMy3nxFQOFfB38Q5NM%2Bw5p9n%2BZd0gheo0%2BFSidYXL3LDmcuT%2BJirT7LixlSDg9SrQwuTZMWjknJByws4alYJeArlFWG%2FY4EQqDuZ%2BOkxI794P6sSp5WhpZZ9bKj3exEFJrRE45yNvdtUO6WhU4Kh1evwo0LozThmzqMC%2BREfolGoEQBavtyrapLUfNGlwOPKHrIzRv8x%2BJ4U%2F%2BuKGCc3CEk%2FYrE%2BR6vFbH3ki%2Bod02OoCNYywvEA9r2gjZYQLcfWfv5ITjBsdxEfvmjuvMqYR6vBhFvBykGlHdHD0YGPer6Kb6i0heclw%2FkpImgNl48X3tTgzKnupsaArMYiPUVWy9Ab0cn%2FVjpBAPmUvRatxIYyqKBV62nUIIOy4Lgfa6uxJf8drLTznBNC%2Bhg1jbKFxcpOEoA%2FOHAdOxvh1kbA7ymjk772FdAfJKIkwt4DsxgY6pgHKv4IBLB3%2FpOUrThDDFkg14PZ8xB8oCcH5TOl5cqU0CUVej2OQP7y9sVRNN7j6%2F7gEr%2F2qiFns%2F81uxK%2F783INYvyBWMBRCoUevzMF71qS9WRSBcOeM%2Fk30nXYLp3GlN7T59R1uJuLkMOLV%2F3n6O8CxL7aNwLkXkCktg8nJq5NypLdiv0GFWVu8Q%2FPzkBmTSAhqTU0CjLoCevMlSHgM33XhU3ahCi6&X-Amz-Signature=cd9b3d3187fbca37368319caff7ebddc90aa7fb78aebcd46cd66afaf8d6c2b64&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject

Left = A
Right = B
Inner = A∩B
Outer = A∪B
みたいな関係にできそう。

※誤った内容がある場合はご指摘いただけますと幸いです!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?