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