このプロジェクトについて

Kotlin DataFrameは、JVM上で表形式データの型安全なインメモリ処理を提供する、JetBrainsのオープンソースインキュベータプロジェクト(ベータ安定性)です。Kotlinの静的型付けとデータの動的な性質を調和させることを目指しており、コンパイル時に構造の変化を評価するインタラクティブなコンパイラプラグインを用いて、列への型安全なアクセスを実現します。 READMEに記載されている主な特徴: - 階層的:JSONやJVMオブジェクトのツリーなどの階層構造を表現できます。 - 関数型:処理パイプラインはDataFrame変換操作の連鎖です。 - イミュータブル:各操作は新しいDataFrameを返し、可能な限り基盤となるストレージを再利用します。 - 可読性:変換は自然言語に近いDSLで表現されます。 - 実用的:一般的な問題に対するシンプルな解決策に加え、複雑なタスクもサポートします。 - 相互運用性:Kotlinのデータクラスやコレクションと相互変換でき、他のライブラリの構造との変換が容易です。 - ジェネリック:数値や文字列だけでなく、任意の型のオブジェクトを格納できます。 - 型安全:型安全なアクセスのための拡張プロパティをオンザフライで生成し、null安全性を備えます。 - ポリモーフィック:型の互換性は列スキーマの互換性から導かれ、関数は列のサブセットのみを要求できます。 Kotlin Notebookや、Kotlin Jupyter Kernel(Datalore、Jupyter Notebook)を使用する他の環境と、`%use dataframe`ライン・マジックを介して統合されます。このプロジェクトは、krangl、Kotlin Collections、pandasからインスピレーションを得たと述べています。 ドキュメントには、クイックスタートガイド、セットアップ、データスキーマ、コンパイラプラグインの設定、およびサポートされる操作の完全なリストが含まれており、SQLデータベースからの読み取り、JSON、CSV、Apache Arrowの読み書き、データフレームの結合、groupBy、HTMLへのレンダリングなどが含まれます。可視化は、別個のKandyプロットライブラリによって提供されます。 セットアップ手順はGradle、Maven、Kotlin Toolchain向けに提供されており、Maven Centralからの`org.jetbrains.kotlinx:dataframe:1.0.0-rc01`などの依存関係座標や、コンパイラプラグインの設定に関する注意事項が含まれています。互換性テーブルは、ライブラリのバージョンを最小Javaバージョン、Kotlinバージョン、Kotlin Jupyterバージョン、Apache Arrowバージョン、コンパイラプラグインバージョン、および互換性のあるKandyバージョンにマッピングしています。 コード例では、CSVファイルの読み取り、型付きスキーマへの変換、列の名前変更、列の値によるフィルタリング、文字列列のリストへの変換、計算列の追加、結果のCSVへの書き戻しを示しています。 このプロジェクトはApache 2.0の下でライセンスされており、JetBrains Open Source and Community Code of Conductによって管理されています。