コード例 #1
0
        public void TestDataFrameFromIDataView_SelectColumns()
        {
            DataFrame df            = DataFrameTests.MakeDataFrameWithAllColumnTypes(10, withNulls: false);
            IDataView dfAsIDataView = df;
            DataFrame newDf         = dfAsIDataView.ToDataFrame("Int", "Double");

            Assert.Equal(dfAsIDataView.GetRowCount(), newDf.Rows.Count);
            Assert.Equal(2, newDf.Columns.Count);
            Assert.True(df.Columns["Int"].ElementwiseEquals(newDf.Columns["Int"]).All());
            Assert.True(df.Columns["Double"].ElementwiseEquals(newDf.Columns["Double"]).All());
        }
コード例 #2
0
        public void TestDataFrameFromIDataView_SelectRows(int dataFrameSize, int rowSize)
        {
            DataFrame df = DataFrameTests.MakeDataFrameWithAllColumnTypes(dataFrameSize, withNulls: false);

            df.Columns.Remove("Char");    // Because chars are returned as uint16 by DataViewSchema, so end up comparing CharDataFrameColumn to UInt16DataFrameColumn and fail asserts
            df.Columns.Remove("Decimal"); // Because decimal is returned as double by DataViewSchema, so end up comparing DecimalDataFrameColumn to DoubleDataFrameColumn and fail asserts
            IDataView dfAsIDataView = df;
            DataFrame newDf;

            if (rowSize == 100)
            {
                // Test default
                newDf = dfAsIDataView.ToDataFrame();
            }
            else
            {
                newDf = dfAsIDataView.ToDataFrame(rowSize);
            }
            if (rowSize == -1)
            {
                rowSize = dataFrameSize;
            }
            Assert.Equal(rowSize, newDf.Rows.Count);
            Assert.Equal(df.Columns.Count, newDf.Columns.Count);
            for (int i = 0; i < newDf.Columns.Count; i++)
            {
                Assert.Equal(rowSize, newDf.Columns[i].Length);
                Assert.Equal(df.Columns[i].Name, newDf.Columns[i].Name);
            }
            Assert.Equal(dfAsIDataView.Schema.Count, newDf.Columns.Count);
            for (int c = 0; c < df.Columns.Count; c++)
            {
                for (int r = 0; r < rowSize; r++)
                {
                    Assert.Equal(df.Columns[c][r], newDf.Columns[c][r]);
                }
            }
        }
コード例 #3
0
        public void TestDataFrameFromIDataView_MLData_SelectColumnsAndRows()
        {
            IDataView data = GetASampleIDataView();
            DataFrame df   = data.ToDataFrame(3, "Name", "Value");

            Assert.Equal(3, df.Rows.Count);
            Assert.Equal(2, df.Columns.Count);
            foreach (var column in df.Columns)
            {
                Assert.Equal(3, column.Length);
            }

            VerifyDataFrameColumnAndDataViewColumnValues <string>("Name", data, df, 3);
            VerifyDataFrameColumnAndDataViewColumnValues <float>("Value", data, df, 3);
        }
コード例 #4
0
        public void TestDataFrameFromIDataView()
        {
            DataFrame df = DataFrameTests.MakeDataFrameWithAllColumnTypes(10, withNulls: false);

            df.Columns.Remove("Char"); // Because chars are returned as uint16 by IDataView, so end up comparing CharDataFrameColumn to UInt16DataFrameColumn and fail asserts
            IDataView dfAsIDataView = df;
            DataFrame newDf         = dfAsIDataView.ToDataFrame();

            Assert.Equal(dfAsIDataView.GetRowCount(), newDf.Rows.Count);
            Assert.Equal(dfAsIDataView.Schema.Count, newDf.Columns.Count);
            for (int i = 0; i < df.Columns.Count; i++)
            {
                Assert.True(df.Columns[i].ElementwiseEquals(newDf.Columns[i]).All());
            }
        }
コード例 #5
0
        public void TestDataFrameFromIDataView_MLData_SelectRows(int maxRows)
        {
            IDataView data = GetASampleIDataView();
            DataFrame df   = data.ToDataFrame(maxRows);

            Assert.Equal(maxRows, df.Rows.Count);
            Assert.Equal(3, df.Columns.Count);
            foreach (var column in df.Columns)
            {
                Assert.Equal(maxRows, column.Length);
            }

            VerifyDataFrameColumnAndDataViewColumnValues <string>("Name", data, df, maxRows);
            VerifyDataFrameColumnAndDataViewColumnValues <bool>("FilterNext", data, df, maxRows);
            VerifyDataFrameColumnAndDataViewColumnValues <float>("Value", data, df, maxRows);
        }
コード例 #6
0
        public void TestDataFrameFromIDataView_SelectColumnsAndRows()
        {
            DataFrame df            = DataFrameTests.MakeDataFrameWithAllColumnTypes(10, withNulls: false);
            IDataView dfAsIDataView = df;
            DataFrame newDf         = dfAsIDataView.ToDataFrame(5, "Int", "Double");

            Assert.Equal(5, newDf.Rows.Count);
            for (int i = 0; i < newDf.Columns.Count; i++)
            {
                Assert.Equal(5, newDf.Columns[i].Length);
            }
            Assert.Equal(2, newDf.Columns.Count);
            for (int r = 0; r < 5; r++)
            {
                Assert.Equal(df.Columns["Int"][r], newDf.Columns["Int"][r]);
                Assert.Equal(df.Columns["Double"][r], newDf.Columns["Double"][r]);
            }
        }