ぶっちゃけ、公式ドキュメントですぐにわからなかったのでメモ。
やりたかったこと
ArcやRwLockを使って、DataFrameにデータの追加と読み込みを別スレッドにしたく、 DataFrameの初期化で空のDataFrameが欲しかった。
結論
スキーマを使わない場合は、default()
を使用する。
use polars_core::prelude::*; fn main() { let df = DataFrame::default(); println!("{:?}", df); assert!(df.is_empty()); }
でも今回のような使用用途だと、スキーマが必要。 スキーマを定義したい場合はこちら
use polars_core::prelude::*; fn main() { let sc: Schema = Schema::from_iter(vec![ Field::new("Thing", DataType::String), Field::new("Diameter (m)", DataType::Float64) ]); let df = DataFrame::from(&sc); println!("{:?}", df); assert!(df.is_empty()); }
あと書き
できればSchema
はstructとかから生成できるといいのだが調査中