public void TestDataFrameWorkerFunctionForBool() { var func = new DataFrameWorkerFunction( new DataFrameUdfWrapper <ArrowStringDataFrameColumn, BooleanDataFrameColumn, BooleanDataFrameColumn>( (strings, flags) => { for (long i = 0; i < strings.Length; ++i) { flags[i] = flags[i].Value || strings[i].Contains("true"); } return(flags); }).Execute); var stringColumn = (StringArray)ToArrowArray(new[] { "arg1_true", "arg1_true", "arg1_false", "arg1_false" }); ArrowStringDataFrameColumn ArrowStringDataFrameColumn = ToArrowStringDataFrameColumn(stringColumn); var boolColumn = new BooleanDataFrameColumn("Bool", Enumerable.Range(0, 4).Select(x => x % 2 == 0)); var input = new DataFrameColumn[] { ArrowStringDataFrameColumn, boolColumn }; var results = (BooleanDataFrameColumn)func.Func(input, new[] { 0, 1 }); Assert.Equal(4, results.Length); Assert.True(results[0]); Assert.True(results[1]); Assert.True(results[2]); Assert.False(results[3]); }
private static DataFrame CreateDataFrame() { var names = new StringDataFrameColumn("name", 3); names[0] = "apple"; names[1] = "pineapple"; names[2] = "durian"; var prices = new PrimitiveDataFrameColumn <decimal>("price", 3); prices[0] = 12.2m; prices[1] = 22.12m; prices[2] = 3_000_000m; var availabilities = new BooleanDataFrameColumn("is_available", 3); availabilities[0] = false; availabilities[1] = false; availabilities[2] = true; return(new DataFrame( names, prices, availabilities)); }
public TickCache() { PrimitiveDataFrameColumn <DateTime> dateTimes = new PrimitiveDataFrameColumn <DateTime>("timestamp"); UInt32DataFrameColumn instrumentToken = new UInt32DataFrameColumn("instrumenttoken"); BooleanDataFrameColumn tradable = new BooleanDataFrameColumn("tradable"); DecimalDataFrameColumn open = new DecimalDataFrameColumn("open"); DecimalDataFrameColumn high = new DecimalDataFrameColumn("high"); DecimalDataFrameColumn low = new DecimalDataFrameColumn("low"); DecimalDataFrameColumn close = new DecimalDataFrameColumn("close"); DecimalDataFrameColumn lastPrice = new DecimalDataFrameColumn("lastprice"); UInt64DataFrameColumn volume = new UInt64DataFrameColumn("volume"); _tickFrame = new DataFrame(dateTimes, instrumentToken, tradable, open, high, low, close, lastPrice, volume); }