concat関数のデフォルトは行方向に結合されます。
何も指定せずに結合すると行方向、つまり下に結合されます。
引数に「axis=0」を付けると行方向、「axis=1」を付けると列方向の結合になります。引数「axis」を付けない場合は、行方向の結合になります。
「axis=1」を付けて結合すると列方向、つまり右に結合されます。
pd.concat([df1, df2], axis=1)
▶︎
■ インデックスの並び替え
インデックスは引数で指定した順番通り、第1引数→第2引数の順で並びます。
インデックスを並び変える場合は、sort_indexメソッドを使います。
pd.concat([df1, df2]).sort_index(axis=0)
▶︎
■ カラムの並び替え
列方向の並び替えは、sort_indexメソッドで引数を「axis=1」とするか、concat関数の引数「sort」で指定します。
concat関数は第1引数のカラムの並び順を優先するため、次の場合はB列→A列の順で並びます。
これをA列→B列の順にしたい場合は、引数「sort=True」を付けます。
pd.concat([df2, df1], sort=True)
▶︎
sort引数のデフォルトはFalseのため、sort引数を付けないと第1引数のカラムの並び順が優先されます。
結合した結果、値が存在していない場所には「NaN」が入る。
次のdf2を結合します。
▶︎
df2には2行目が存在しません。これを次のように列方向に結合します。
pd.concat([df1, df2], axis=1)
▶︎
2行目のC列がNaNになります。NaNはfloatのため、C列の1行目は「4.0」になります。