テービーテックのデータサイエンス

未経験リケジョがゼロからデータサイエンティストを目指す姿を記す奮闘記です。2019/12/05文系出身者が共同で更新を開始

TAG index

▲本日の関数==concat()==

f:id:TBT_matsu:20200402152259p:plain

本日の関数: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

f:id:TBT_matsu:20200414143648p:plain

#3×2のデータフレーム
df2

f:id:TBT_matsu:20200414143911p:plain

コード
#df1とdf2を縦方向に外部結合
df_con1 = pd.concat([df1, df2])
df_con1

f:id:TBT_matsu:20200414144118p:plain
df2には3の列がないので「NaN」で埋められています。

横方向に連結するときは、axis=1とします。

#df1とdf2を横方向に外部結合
df_con2 = pd.concat([df1, df2], axis=1)
df_con2

f:id:TBT_matsu:20200414144315p:plain

・outer(デフォルト)→外部結合:一番大きい形が基準になるイメージ、元のオブジェクトに存在しない列や行の値は「NaN」になります(df_con1参照)。
・inner→内部結合:結合するオブジェクト同士で共通した行or列のみが残ります。

#df1とdf2を縦方向に内部結合
df_con3 = pd.concat([df1, df2], join='inner')
df_con3

f:id:TBT_matsu:20200414144528p:plain

もっと詳しく!

ドキュメントへ!!