2つのデータフレームを並べて合わせる方法 .joinを使う

データフレームを2つ合体させる方法。appendとかmergeとか似たような命令がいくつかあって悩みましたが、自分がやりたかったことはjoinでできました。

# データフレームの右側に別のデータフレームを付け足す方法

今の場合’Year’のカラムが両方にあってダブってしまうため、付け足されるほうのデータフレームからは予め削除(drop)しておきます。axis=1というのは「列」という意味。axis=0だと「行」の指定。

# データフレームの右側に別のデータフレームを付け足す方法
dict1 = {'Year':[2011,2012,2013], 'A':[ 1, 2,3],    'B':[4,5,6],    'C':[7,8,9]}
dict2 = {'Year':[2011,2012,2013],'D':[ 10, 11,12], 'E':[13,14,15], 'F':[16,17,18]}

print('1つめのデータフレーム\n',DataFrame(dict1),'\n')
print('2つめのデータフレーム\n',DataFrame(dict2),'\n')
print('2つめを1つめの右に合わせたもの\n', DataFrame(dict1).join(DataFrame(dict2).drop('Year', axis=1)),'\n')

 

出力結果は、

1つめのデータフレーム
    Year  A  B  C
0  2011  1  4  7
1  2012  2  5  8
2  2013  3  6  9 

2つめのデータフレーム
    Year   D   E   F
0  2011  10  13  16
1  2012  11  14  17
2  2013  12  15  18 

2つめを1つめの右に合わせたもの
    Year  A  B  C   D   E   F
0  2011  1  4  7  10  13  16
1  2012  2  5  8  11  14  17
2  2013  3  6  9  12  15  18