19章データセットの連結:マージと結合

pandasが提供する重要な機能の1つが、高性能なインメモリ結合およびマージです。データベースを扱ったことがあるなら、このようなデータ操作に精通していることでしょう。そのインターフェイスがpd.merge関数です。これがどのように動作するか、例をいくつか見ていきます。

標準的なインポートの後、前章で使用したDisplayクラスを再登場させます。

In [1]: import pandas as pd
        import numpy as np

        class Display:
            """HTML表現で複数オブジェクトを表示する"""
            template = """<div style="float: left; padding: 10px;">
            <p style='font-family:"Courier New", Courier, monospace'>{0}{1}
            """
            def __init__(self, *args):
                self.args = args

            def _repr_html_(self):
                return '\n'.join(self.template.format(a, eval(a)._repr_html_())
                                 for a in self.args)

            def __repr__(self):
                return '\n\n'.join(a + '\n' + repr(eval(a))
                                   for a in self.args)

19.1 関係代数

pd.mergeが提供する機能は、一連の正式なルールのサブセットです。これは関係代数として知られるほとんどのデータベースで利用できる操作の基礎的概念を形成します。関係代数アプローチの強みは、いくつかの基本的な操作を提案し、それがあらゆるデータセットに対する複雑な操作の構成要素となる点です。データベースまたは他のプログラムにおいてこの基本的な操作を効率的に実装すれば、かなり複雑な連結操作も幅広く実行できるようになります。 ...

Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.