
250
8
章 データラングリング:連結、結合、変形
これから、たくさんの例をお見せしながらこれらを
1
つずつ説明していきます。また、これらの関数
やメソッドは、この本の残りの章の例においても活用していきます。
8.2.1
データフレームをデータベース風に結合する
マージや結合と呼ばれる操作は、複数のデータセットに含まれる行同士を、
1
つ以上のキーを使って
リンクさせることで、複数のデータセットを結び付ける操作です。このような操作は、(例えば
SQL
ベー
スの)リレーショナルデータベースの中核をなす重要な操作です。
pandas
の
merge
関数は、このような
アルゴリズムを自分のデータに適用する上で、入門としてふさわしい機能です。
簡単な例から始めてみましょう。
In [35]: df1 = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'],
....: 'd
ata1': range(7)})
In [36]: df2 = pd.DataFrame({'key': ['a', 'b', 'd'],
....: 'data2': range(3)})
In [37]: df1
Out[37]:
data1 key
0 0 b
1 1 b
2 2 a
3 3 c
4 4 a
5 5 a
6 6 b
In [38]: df2
Out[38]:
data2 key
0 0 a
1 1 b
2 2 d
これは多対一の結合の例です。
df1
に含まれるデータには、
a
や
b
というラベルの付