0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】pandasのconcat関数

Posted at

次のdf1を結合先とします。
▶︎
image.png

concat関数のデフォルトは行方向に結合されます。

次のdf2を結合します。
▶︎
image.png

何も指定せずに結合すると行方向、つまり下に結合されます。

pd.concat([df1, df2])
▶︎
image.png

引数に「axis=0」を付けると行方向、「axis=1」を付けると列方向の結合になります。引数「axis」を付けない場合は、行方向の結合になります。

次のdf2を結合します。
▶︎
image.png

「axis=1」を付けて結合すると列方向、つまり右に結合されます。

pd.concat([df1, df2], axis=1)
▶︎
image.png

■ インデックスの並び替え
インデックスは引数で指定した順番通り、第1引数→第2引数の順で並びます。

次のdf2を結合します。
▶︎
image.png

pd.concat([df1, df2])
▶︎
image.png

インデックスを並び変える場合は、sort_indexメソッドを使います。

pd.concat([df1, df2]).sort_index(axis=0)
▶︎
image.png

■ カラムの並び替え
列方向の並び替えは、sort_indexメソッドで引数を「axis=1」とするか、concat関数の引数「sort」で指定します。

次のdf2を結合します。
▶︎
image.png

concat関数は第1引数のカラムの並び順を優先するため、次の場合はB列→A列の順で並びます。

pd.concat([df2, df1])
▶︎
image.png

これをA列→B列の順にしたい場合は、引数「sort=True」を付けます。

pd.concat([df2, df1], sort=True)
▶︎
image.png
sort引数のデフォルトはFalseのため、sort引数を付けないと第1引数のカラムの並び順が優先されます。

結合した結果、値が存在していない場所には「NaN」が入る。

次のdf2を結合します。
▶︎
image.png
df2には2行目が存在しません。これを次のように列方向に結合します。

pd.concat([df1, df2], axis=1)
▶︎
image.png
2行目のC列がNaNになります。NaNはfloatのため、C列の1行目は「4.0」になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?