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()); }
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]); } } }
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); }
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()); } }
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); }
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]); } }