Sol*_*lma 4 f# dataframe fsi deedle
阅读文章Analyzing and Visualizing Data with F#
(https://www.oreilly.com/ideas/analyzing-and-visualizing-data-with-f-sharp/page/2/analyzing-data-using-f-and-deedle)我收集了(也许错误的)可以将Deedle DataFrame
in FSharp Interactive
(FSI
)的内容显示为一个漂亮的表.
使我这么认为的文本片段如下:
When you create a data frame, F# Interactive formats it nicely so you can get a quick idea about the data. For example, in Table 2-1 you can see the ranges of the values and which values are frequently missing.
Run Code Online (Sandbox Code Playgroud)
这些行之前是一个很好的表格,显示了a的内容DataFrame
.
没有安装和打开FSLab
,按照文章的建议,当我可以创建一个DataFrame
in FSI
然后输入它的名字和";;" 我得到这样的东西:
> df;;
val it : Frame<int,string> =
Deedle.Frame`2[System.Int32,System.String]
{ColumnCount = 2;
ColumnIndex = Deedle.Indices.Linear.LinearIndex`1[System.String];
ColumnKeys = seq ["A"; "B"];
ColumnTypes = seq [System.Int32; System.Int32];
Columns = series [ A => series [ 0 => 1; 1 => 2; 2 => 3; 3 => 4; 4 => 5; ... ; 9 => 10]; B => series [ 0 => 11; 1 => 12; 2 => 13; 3 => 14; 4 => 15; ... ; 9 => 20]];
ColumnsDense = series [ A => series [ 0 => 1; 1 => 2; 2 => 3; 3 => 4; 4 => 5; ... ; 9 => 10]; B => series [ 0 => 11; 1 => 12; 2 => 13; 3 => 14; 4 => 15; ... ; 9 => 20]];
IsEmpty = false;
Item = ?;
Item = ?;
RowCount = 10;
RowIndex = Deedle.Indices.Linear.LinearIndex`1[System.Int32];
RowKeys = seq [0; 1; 2; 3; ...];
Rows = series [ 0 => series [ A => 1; B => 11]; 1 => series [ A => 2; B => 12]; 2 => series [ A => 3; B => 13]; 3 => series [ A => 4; B => 14]; 4 => series [ A => 5; B => 15]; ... ; 9 => series [ A => 10; B => 20]];
RowsDense = series [ 0 => series [ A => 1; B => 11]; 1 => series [ A => 2; B => 12]; 2 => series [ A => 3; B => 13]; 3 => series [ A => 4; B => 14]; 4 => series [ A => 5; B => 15]; ... ; 9 => series [ A => 10; B => 20]];}
Run Code Online (Sandbox Code Playgroud)
所以我尝试安装FSLab
,但它似乎与我以前安装的软件包版本不兼容.安装没有通过,我收到以下消息:
Severity Code Description Project File Line Suppression State
Error Unable to resolve dependencies. 'FSharp.Data 2.4.6' is not compatible with 'FsLab 1.0.2 constraint: FSharp.Data (= 2.3.2)'. 0
Run Code Online (Sandbox Code Playgroud)
我怀疑这个问题有一个简单的解决方案.
所以,
1)这是真的,我可以得到一个不错的表格显示的内容Deedle DataFrame
中FSI
(就像人做,例如,在RStudio
对R
)?
2)如果是,我该怎么做才能能够可视化这些表而不向后移动我已经安装的软件包的版本?
如果您使用Deedle.fsx
包中包含的加载脚本引用Deedle,则会自动注册F#Interactive的打印机:
#load "packages/Deedle/Deedle.fsx"
open Deedle
let df =
[ "First" => Series.ofValues [1;2;3;4]
"Second" => Series.ofValues [1;2;3;4] ]
|> frame
Run Code Online (Sandbox Code Playgroud)
如果你使用Paket引用Deedle并运行上面的代码,你会得到很好的打印输出.或者,您也可以通过显式调用获得相同的输出:
df.Print()
Run Code Online (Sandbox Code Playgroud)