18章データセットの連結:concatとappend

興味深い研究成果の多くは、異なるデータソースの組み合わせから得られます。組み合わせ操作は、2つの異なるデータセットの単純な連結から、データセット間の重複を正しく処理するデータベーススタイルの結合やマージにまでさまざまであり、SeriesDataFrameはこの種の操作を念頭に置いて設計されています。またpandasはこうしたデータを素早く簡単に扱うための関数とメソッドを提供しています。

最初に、pd.concat関数を使用してSeriesDataFrameを単純に連結します。続いてpandasで提供される、より洗練されたインメモリのマージと結合を取り上げます。

まず、標準のimportを行います。

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

以降の説明で使用する、特定形式のDataFrameを簡単に作成する関数を定義します。

In [2]: def make_df(cols, ind):
            """DataFrameの簡易作成関数"""
            data = {c: [str(c) + str(i) for i in ind]
                    for c in cols}
            return pd.DataFrame(data, ind)

        # サンプルDataFrame
        make_df('ABC', range(3))
Out[2]:     A   B   C
        0  A0  B0  C0
        1  A1  B1  C1
        2  A2  B2  C2

さらに、複数のDataFrameを並べて表示する簡単なクラスを作成します†1。このコードでは、IPython/Jupyterがオブジェクトの整形された表示を実装する特別なrepr_html ...

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.