データテーブルの連結ー縦方向1 (異なる列名をそのまま残す場合)
テーブルとテーブルの連結には、縦方向(行が増える)と横方向(列が増える)の場合があります。
縦方向の場合は集合、横方向の場合は結合と言います。
集合には以下の3つのパターンがあります。
和集合:複数のテーブルのレコードをすべて足す。
積集合:複数のテーブルの共通するレコードを取り出す。
差集合:他のテーブルと共通しないレコードを取り出す。
今回は、和集合について、SAS プログラムと SQL、および Python (Pandas) をそれぞれ用いた例を紹介します。
行いたい操作は下記です。
変数名が共通しているA列を結合します。
片方しかない変数 (B列、C列) はすべて残します。
① SAS プログラム
data table_3;
set table_1 table_2;
run;
set ステートメントで縦に重ねることができます。
記載されている順番で読み込み連結します。
この例ではテーブルは2つですが、任意の数のテーブルを連結できます。
② SQL
create table table_3 as
select A, B from table_1
outer union corr
select A, C from table_2;
SELECT文 outer union corr SELECT文
→ SELECT文の結果を縦に結合します。
③ Python (Pandas)
import pandas as pd
table_1 = pd.DataFrame({'A': [1, 2], 'B': ['AA', 'BB']})
table_2 = pd.DataFrame({'A': [2, 3], 'C': [10, 20]})
table_3 = pd.concat([table_1, table_2], ignore_index = True)
pd.concat の引数の順に沿ってテーブルが連結されます。NaN は欠損値です。
関連記事
データテーブルの連結-縦方向 2(異なる列名を統合する場合)
データテーブルの連結-縦方向 3(積集合と差集合)
データテーブルの連結-横方向 1(完全外部結合)
データテーブルの連結-横方向 2(内部結合)
データテーブルの連結-横方向 3(左右の外部結合)
データテーブルの連結ー交差結合
Author And Source
この問題について(データテーブルの連結ー縦方向1 (異なる列名をそのまま残す場合)), 我々は、より多くの情報をここで見つけました https://qiita.com/MomonekoView/items/78f51b7385bec42d08ed著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .