Python:pandasのDataFrame同士をくっつける(列を結合させる)
先日の続きで、
列をDataFrame同士で結合させる方法をやってみたいと思います。
DataFrame同士をくっつける(列を結合)とは?
dfのイメージ図
name | age | add |
---|---|---|
aaa | 18 | Tokyo |
bbb | 20 | Osaka |
ccc | 22 | Nagoya |
df2のイメージ図
English | math |
---|---|
80 | 90 |
85 | 80 |
90 | 85 |
dfとdf2をくっつけて以下のようなDataFrameを作るイメージです。
name | age | add | English | math |
---|---|---|---|---|
aaa | 18 | Tokyo | 80 | 90 |
bbb | 20 | Osaka | 85 | 80 |
ccc | 22 | Nagoya | 90 | 85 |
下準備
dfとdf2を準備します。
import pandas as pd #df用 data = {"name":["aaa","bbb","ccc"],"age":["18","20","22"],"add":["Tokyo","Osaka","Nagoya"]} #df2用 data2 = {"English":["80","85","90"],"math":["90","80","85"]} #dfとdf2にdataをいれる df = pd.DataFrame(data) df2 = pd.DataFrame(data2)
concat()を使って結合させてみよう
#pd.concat(objs,axis=1) df_data = pd.concat([df,df2],axis = 1)
- 今回使用した引数の説明
objs:結合したいDataFrameを記述します。
axis:今回は列方向で結合したいため、1を入力
(デフォルトは0で行方向で結合する)
df_dataのイメージ図
name | age | add | English | math | |
---|---|---|---|---|---|
0 | aaa | 18 | Tokyo | 80 | 90 |
1 | bbb | 20 | Osaka | 85 | 80 |
2 | ccc | 22 | Nagoya | 90 | 85 |
引数はこれら以外にも、ラベルを変更したり
インデックスの名前を付け直したりすることもできるようです。
<最終更新日:2021/08/18>
2021/08/18 投稿