private DataFrame MakeTestDataFrameWithParityAndTensColumns(int length) { DataFrame df = DataFrameTests.MakeDataFrameWithNumericColumns(length, false); DataFrameColumn parityColumn = new StringDataFrameColumn("Parity", Enumerable.Range(0, length).Select(x => x % 2 == 0 ? "even" : "odd")); DataFrameColumn tensColumn = new Int32DataFrameColumn("Tens", Enumerable.Range(0, length).Select(x => x / 10)); df.Columns.Insert(df.Columns.Count, parityColumn); df.Columns.Insert(df.Columns.Count, tensColumn); return(df); }
public static DataFrame MakeDataFrameWithTwoColumns(int length, bool withNulls = true) { DataFrameColumn dataFrameColumn1 = new Int32DataFrameColumn("Int1", Enumerable.Range(0, length).Select(x => x)); DataFrameColumn dataFrameColumn2 = new Int32DataFrameColumn("Int2", Enumerable.Range(10, length).Select(x => x)); if (withNulls) { dataFrameColumn1[length / 2] = null; dataFrameColumn2[length / 2] = null; } DataFrame dataFrame = new DataFrame(); dataFrame.Columns.Insert(0, dataFrameColumn1); dataFrame.Columns.Insert(1, dataFrameColumn2); return(dataFrame); }
private static FxDataFrame CountCharacters(FxDataFrame dataFrame) { int characterCount = 0; var characterCountColumn = new Int32DataFrameColumn("nameCharCount"); var ageColumn = new Int32DataFrameColumn("age"); ArrowStringDataFrameColumn nameColumn = dataFrame.Columns.GetArrowStringColumn("name"); for (long i = 0; i < dataFrame.Rows.Count; ++i) { characterCount += nameColumn[i].Length; } if (dataFrame.Rows.Count > 0) { characterCountColumn.Append(characterCount); ageColumn.Append(dataFrame.Columns.GetInt32Column("age")[0]); } return(new FxDataFrame(ageColumn, characterCountColumn)); }