pandasユーザーのためのCognoxium¶
CognitionFrameは、pandasのように処理を組み合わせられる表形式の操作感を備えています。ただし、行に格納するのは任意の業務データではありません。各行は、出所、信頼区分、保持要件、来歴を持つAIコンテキストの一単位です。
実用的な対応表¶
pandasの概念 |
Cognoxiumでの対応 |
重要な違い |
|---|---|---|
|
|
|
真偽値マスク |
|
式はコンテキストのフィールドを対象にします |
|
|
AI向け操作には引き続き |
|
|
|
|
|
正規化されたペイロードのハッシュで判定し、来歴を保守的に統合します |
|
|
v0.1系列の集約は表形式データの探索用で、直ちに評価されます |
|
|
型付きコンテキストのスキーマを保持します |
入出力メソッド |
JSONL、Arrow IPC、Parquet |
Arrow/Parquetには |
使い慣れた操作¶
import cognoxium as cx
frame = cx.CognitionFrame.from_records([
{"id": "a", "payload": "Rust tokenizer", "priority": 2,
"sources": ["app://a"], "created_at": "2026-01-01T00:00:00Z"},
{"id": "b", "payload": "Python fallback", "priority": 1,
"sources": ["app://b"], "created_at": "2026-01-01T00:01:00Z"},
])
active = frame.filter(cx.col("priority") >= 2).sort("priority", descending=True)
print([item.id for item in active.collect()])
print(active.explain())
['a']
Scan[context records] -> Filter -> Sort[priority]
pandasとの意図的な違い¶
インプレースの変更はありません。どの変換も新しいフレームを返します。
rank()はsort()ではありません。順位付けは予算配分に影響しますが、選択後の出力では元の順序が保たれます。required(必須)は契約です。パック処理が暗黙に除外したり、保持要件を下げたりすることはありません。select()では、idやpayloadを持たない探索用テーブルも作成できます。そのようなテーブルでcollect()、dedupe()、rank()、pack()を呼び出すとSchemaErrorが発生します。確認にはcollect_records()を使用してください。通常のフレーム計画は遅延実行ですが、v0.1系列の
GroupedCognitionFrame.agg()は即時実行です。Cognoxiumはpandasの代替ではなく、汎用的なインデックス操作、統計分析、任意形式の入出力は実装していません。
ユーザー向けに安定性が保証される名前空間は、cognoxiumからエクスポートされる名前の集合です。_rank_scoreや_cognoxium_dedupeのようにアンダースコアで始まるメタデータは実装の詳細です。長期保存する監査記録にはPackManifestを使用してください。