このFrame.ofRows
関数は、フレームの個々の行を表す一連のシリーズを想定しています。と同様にFrame.ofColumns
、この関数は、すでにいくつかのシリーズ オブジェクトがある場合 (またはすべてを最初から作成している場合) に役立ちます。それらは type の入力を受け取りますseq<'TRowKey * ISeries<'TColKey>>
。
一部の .NET データ構造から Deedle フレームを作成する場合Frame.ofRecords
、どのシーケンスでも機能する which を使用でき、リフレクションを使用してプロパティの名前を取得します (そしてそれらを列名として扱います)。
長い説明ですが、コード内で変更されるのはほんの数文字です :-)。Northwindでテストしました:
type Nwind = SqlDataConnection<"""Data Source=.\SQLExpress;
Initial Catalog=Northwind;Integrated Security=SSPI;""">
let db = Nwind.GetDataContext()
// Create data frame from Products table (with appropriate column names)
let fr = db.Products |> Frame.ofRecords
結果は次のとおりです。
ProductID ProductName SupplierID CategoryID QuantityPerUnit UnitPrice UnitsInStock UnitsOnOrder ReorderLevel Discontinued OrderDetails Categories Suppliers
0 -> 1 Chai 1 1 10 boxes x 20 bags 18.0000 39 0 10 False System.Data.Linq.EntitySet`1[OrderDetails] Categories Suppliers
1 -> 2 Chang 1 1 24 - 12 oz bottles 19.0000 17 40 25 False System.Data.Linq.EntitySet`1[OrderDetails] Categories Suppliers
2 -> 3 Aniseed Syrup 1 2 12 - 550 ml bottles 10.0000 13 70 25 False System.Data.Linq.EntitySet`1[OrderDetails] Categories Suppliers
3 -> 4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 22.0000 53 0 0 False System.Data.Linq.EntitySet`1[OrderDetails] Categories Suppliers
4 -> 5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.3500 0 0 0 True System.Data.Linq.EntitySet`1[OrderDetails] Categories Suppliers
(....)