Pythonで複数のテーブルを結合する方法
PythonのPandasライブラリは、複数の表を効果的に結合できます。ここでは、主な方法をいくつか紹介します。
- concat()関数を使うと、複数のテーブルを縦(行方向)または横に(列方向)つなげることができます。axisパラメータを指定することでつなぎ方を制御でき、axis=0は行方向、axis=1は列方向を表します。
import pandas as pd
# 创建多个表
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})
# 按行拼接
result1 = pd.concat([df1, df2], axis=0)
# 按列拼接
result2 = pd.concat([df1, df2], axis=1)
- 指定したキーを元に複数の表を結合する: merge() 関数を使う
import pandas as pd
# 创建多个表
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'key': ['a', 'b', 'c']})
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12], 'key': ['a', 'b', 'c']})
# 根据键合并
result = pd.merge(df1, df2, on='key')
- インデックスに沿って複数のテーブルを結合:join() 関数を使用して結合します。how パラメーターを指定することで、left、right、inner、outer などの結合方法を指定できます。
import pandas as pd
# 创建多个表
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=['b', 'c', 'd'])
# 根据索引合并
result = df1.join(df2, how='outer')