データフレームは、列ごとに型を持ち行ごとに観測を表す、二次元のテーブル状データ構造である。表計算ソフトのような行 × 列の見え方を保ちながら、列ごとに異なる型を許容する点で多次元配列と区別され、データ分析の中心的な単位として扱われる。 1990 年代の [[S 言語]]で統計分析向けに導入されたのが起源で、[[Python]] の pandas もこの設計から着想を得て登場した。データサイエンスの普及とともに、現在は各言語で広く使われている。 ## 主要な実装 ### R - `data.frame`: S 言語の `data.frame` を継承した R 組み込みの実装。行ごとに名前を持ち、文字列を `factor` 型に自動変換する - [[tibble]]: `data.frame` の改良版。print 表示の整理、文字列の自動変換を行わない、行名を廃止して列のみで完結する設計 ### Python - pandas: 2008 年公開。R の `data.frame` に着想を得て、ラベル付きインデックスや時系列処理を取り入れた - Polars: 2020 年代登場の新世代実装。Apache Arrow を内部表現に持ち、Rust 実装と遅延評価で大規模データに強い