/// <summary>
        /// Performs a reversed element-wise addition on each column
        /// </summary>
        public DataFrame ReverseAdd <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.ReverseAdd(value, inPlace);
                if (inPlace)
                {
                    retDataFrame.Columns[i] = newColumn;
                }
                else
                {
                    retDataFrame.Columns.Insert(i, newColumn);
                }
            }
            return(retDataFrame);
        }