public void TestIndexer() { Data.DataFrame dataFrame = MakeDataFrameWithTwoColumns(length: 10); var foo = dataFrame[0, 0]; Assert.Equal(0, dataFrame[0, 0]); Assert.Equal(11, dataFrame[1, 1]); Assert.Equal(2, dataFrame.Columns.Count); Assert.Equal("Int1", dataFrame.Columns[0]); var headList = dataFrame.Head(5); Assert.Equal(14, (int)headList[4][1]); var tailList = dataFrame.Tail(5); Assert.Equal(19, (int)tailList[4][1]); dataFrame[2, 1] = 1000; Assert.Equal(1000, dataFrame[2, 1]); var row = dataFrame[4]; Assert.Equal(14, (int)row[1]); var column = dataFrame["Int2"] as PrimitiveColumn <int>; Assert.Equal(1000, (int)column[2]); Assert.Throws <ArgumentException>(() => dataFrame["Int5"]); }
public static DataFrame MakeDataFrameWithTwoColumns(int length) { BaseColumn dataFrameColumn1 = new PrimitiveColumn <int>("Int1", Enumerable.Range(0, length).Select(x => x)); BaseColumn dataFrameColumn2 = new PrimitiveColumn <int>("Int2", Enumerable.Range(10, length).Select(x => x)); Data.DataFrame dataFrame = new Data.DataFrame(); dataFrame.InsertColumn(0, dataFrameColumn1); dataFrame.InsertColumn(1, dataFrameColumn2); return(dataFrame); }