/// <summary> /// Performs an element-wise modulus operation on each column /// </summary> public DataFrame Modulo <T>(T value, bool inPlace = false) where T : unmanaged { DataFrame retDataFrame = inPlace ? this : new DataFrame(); for (int i = 0; i < Columns.Count; i++) { DataFrameColumn baseColumn = _columnCollection[i]; DataFrameColumn newColumn = baseColumn.Modulo(value, inPlace); if (inPlace) { retDataFrame.Columns[i] = newColumn; } else { retDataFrame.Columns.Insert(i, newColumn); } } return(retDataFrame); }
public DataFrame Modulo <T>(IReadOnlyList <T> values, bool inPlace = false) where T : unmanaged { if (values.Count != Columns.Count) { throw new ArgumentException(Strings.MismatchedColumnLengths, nameof(values)); } DataFrame retDataFrame = inPlace ? this : new DataFrame(); for (int i = 0; i < Columns.Count; i++) { DataFrameColumn baseColumn = _columnCollection[i]; DataFrameColumn newColumn = baseColumn.Modulo(values[i], inPlace); if (inPlace) { retDataFrame.Columns[i] = newColumn; } else { retDataFrame.Columns.Insert(i, newColumn); } } return(retDataFrame); }