public DataFrame Divide <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.Divide(values[i], inPlace); if (inPlace) { retDataFrame.Columns[i] = newColumn; } else { retDataFrame.Columns.Insert(i, newColumn); } } return(retDataFrame); }