本日の関数:concat()
こんにちは。
テービーテックの村松です。
本日の関数をご紹介する前に、本シリーズの目次ページを作りましたのでご案内します。
ds-blog.tbtech.co.jp
ぼちぼち量も増えてきましたかね。
これからもりもりと増やしてまいります。
閑話休題。
本日ご紹介する関数は「concat()」。
どんな関数?
複数のデータフレーム類を連結する際に使用します。
引数は?
concat(objs, axis=0, join='outer', ignore_index: bool = False, keys=None, levels=None, names=None, verify_integrity: bool = False, sort: bool = False, copy: bool = True)
よく指定する引数は、
- objs:連結するDataFrameやSeriesを指定します
- axis:連結の方向を指定します(0(デフォルト)→縦方向、1→横方向)
- join:連結方法を指定します(outer(デフォルト)→外部結合、inner→内部結合)
使ってみよう
input
今回は2つのデータフレームを用意しました。
#3×3のデータフレーム
df1
#3×2のデータフレーム
df2
コード
#df1とdf2を縦方向に外部結合
df_con1 = pd.concat([df1, df2])
df_con1
df2には3の列がないので「NaN」で埋められています。
横方向に連結するときは、axis=1とします。
#df1とdf2を横方向に外部結合 df_con2 = pd.concat([df1, df2], axis=1) df_con2
・outer(デフォルト)→外部結合:一番大きい形が基準になるイメージ、元のオブジェクトに存在しない列や行の値は「NaN」になります(df_con1参照)。
・inner→内部結合:結合するオブジェクト同士で共通した行or列のみが残ります。
#df1とdf2を縦方向に内部結合 df_con3 = pd.concat([df1, df2], join='inner') df_con3