みなさんこんにちは、やっちゃんです。
Pythonでのデータの連結方法について解説します。
行方向にデータを連結
まずはデータフレームを扱う際のライブラリをインポートしましょう。
その後、pd.DataFrame()でデータフレームdf1とdf2を作っていきます。
1 2 3 4 5 6 7 |
import pandas as pd import numpy as np df1 = pd.DataFrame({"A":[1,2,3,4,5], "B":[10,20,30,40,50], "C":[100,200,300,400,500]}) df1 |
A | B | C | |
---|---|---|---|
0 | 1 | 10 | 100 |
1 | 2 | 20 | 200 |
2 | 3 | 30 | 300 |
3 | 4 | 40 | 400 |
4 | 5 | 50 | 500 |
1 2 3 4 |
df2 = pd.DataFrame({"A":[11,21,31,41,51], "B":[101,201,301,401,501], "C":[1001,2001,3001,4001,5001]}) df2 |
A | B | C | |
---|---|---|---|
0 | 11 | 101 | 1001 |
1 | 21 | 201 | 2001 |
2 | 31 | 301 | 3001 |
3 | 41 | 401 | 4001 |
4 | 51 | 501 | 5001 |
それでは行方向に連結させていきましょう。
pd.concat()で連結します。
1 2 |
df_concat1 = pd.concat([df1,df2]) df_concat1 |
A | B | C | |
---|---|---|---|
0 | 1 | 10 | 100 |
1 | 2 | 20 | 200 |
2 | 3 | 30 | 300 |
3 | 4 | 40 | 400 |
4 | 5 | 50 | 500 |
0 | 11 | 101 | 1001 |
1 | 21 | 201 | 2001 |
2 | 31 | 301 | 3001 |
3 | 41 | 401 | 4001 |
4 | 51 | 501 | 5001 |
完成!
列方向にデータを連結
列方向に連結していきます。先ほどのコードにaxis=1を付け足しましょう。
1 2 |
df_concat2 = pd.concat([df1,df2], axis=1) df_concat2 |
A | B | C | A | B | C | |
---|---|---|---|---|---|---|
0 | 1 | 10 | 100 | 11 | 101 | 1001 |
1 | 2 | 20 | 200 | 21 | 201 | 2001 |
2 | 3 | 30 | 300 | 31 | 301 | 3001 |
3 | 4 | 40 | 400 | 41 | 401 | 4001 |
4 | 5 | 50 | 500 | 51 | 501 | 5001 |
完成!
concatでの行列連結も非常に頻繁につかうコードです。
マスターしておきましょう!
ありがとうございました^^。
コメント