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));
        }
Exemple #3
0
        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);
        }