データサイエンティストやエンジニアであれば、PandasやpolarsといったDataFrameライブラリを日常的に使っているでしょう。しかし、「なぜDataFrameはこういう設計になっているのか?」と根本から問い直したことはあるでしょうか。海外のテックコミュニティ・Hacker Newsで注目を集めた記事「What Category Theory Teaches Us About DataFrames」は、抽象数学の一分野である圏論(Category Theory)という意外な切り口でこの問いに答えようとしています。
圏論とは何か?ざっくりおさらい
圏論は1940年代に誕生した数学の一分野で、「もの(オブジェクト)」と「もの同士の関係(射・morphism)」を抽象的に扱う理論です。一見すると純粋数学の世界の話に聞こえますが、近年はHaskellなどの関数型プログラミング言語やコンパイラ設計、型理論の文脈で頻繁に登場するようになりました。
簡単に言えば、圏論は「構造を保ちながらものをどう変換するか」を厳密に記述するための言語です。この「変換の合成と同一性」という考え方が、実はデータ操作と深く結びついています。
DataFrameを圏論の目で見ると何が見える?
DataFrameに対する典型的な操作——`filter`、`map`、`join`、`groupby`——は、圏論の観点から見るとそれぞれ明確な意味を持つ「射(変換)」として解釈できます。