5/5 Q.Pandasのconcat関数で、DataFrame 1とDataFrame 2の両方に存在するローインデックスのみを貼り付けるにはどうすればいいですか?

6911 ワード

データフレームの作成

import pandas as pd

df1 = pd.DataFrame({'a' : ['a2', 'a3', 'a4', 'a5'],
                    'b' : ['b2', 'b3', 'b4', 'b5'],
                    'c' : ['c2', 'c3', 'c4', 'c5']},
                    index = [0, 1, 2, 3])

df2 = pd.DataFrame({'a' : ['a2', 'a3', 'a4', 'a5'],
                    'b' : ['b2', 'b3', 'b4', 'b5'],
                    'c' : ['c2', 'c3', 'c4', 'c5'],
                    'd' : ['d2', 'd3', 'd4', 'd5']},
                    index = [2, 3, 4, 5])
                   
                   

concat

joinオプションでouter合計、inner交差を表します.
concat_df = pd.concat([df1, df2], join='inner')
concat_df

オプションを、、、、、、に設定し、df 1、df 2に存在するローインデックスのみを接続します.
concat_df = pd.concat([df1, df2], join='outer')
concat_df
joinオプションがinnerに設定されている場合、独立したdfのすべてのローインデックスがdf 1、df 2に接続されます.

参考資料

  • Pandasベースデータフレームのマージ(merge、join、concat)
  • pandas.concat