public static void Main()
var msft = new CsvFile("https://raw.githubusercontent.com/matplotlib/sample_data/master/msft.csv");
Console.WriteLine("Fields\n======");
Console.WriteLine($"Index: {f.Index} Label: {f.Label} Type: {f.Type.Name}.");
msft["Date"].First().Type = typeof(DateTime);
for (int i = 1; i < msft.Count(); i++)
msft[i].Type = typeof(float);
Console.WriteLine("\nFrame\n=====");
dynamic df = new Frame(msft);
Console.WriteLine($"Length = {df.Length}\n");
for(int i = 0; i < 5; i++)
Console.WriteLine($"Date: {df[i].Date} Open:{df[i].Open}");
Console.WriteLine("\nData Types\n==========");
for(int i = 0; i < 5; i++)
Console.WriteLine($"Date: {df[i].Date.GetType().Name} Open:{df[i].Open.GetType().Name}");
select new { Date = f["Date"], Open = f["Open"], Close = f["Close"]};
Console.WriteLine("\nQuery\n=====");
foreach(var rec in query)
Console.WriteLine($"Date: {rec.Date} Open: {rec.Open} Close: {rec.Close}" );
var titanic = new CsvFile("https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv");
Console.WriteLine("\nTitanic Fields\n======");
foreach (var f in titanic)
Console.WriteLine($"Index: {f.Index} Label: {f.Label} Type: {f.Type.Name}.");
titanic[0].Type = typeof(int);
titanic[1].Type = typeof(int);
Frame tf = new Frame(titanic);
let survived = f["Survived"] == 1 ? true : false
select new { Name = f["Name"], Class = f["Pclass"], Survived = survived};
group r by r.Survived into g
select new {Survived = g.Key, Count = g.Count()};
foreach (var r in query3)