/// <summary>
        /// Performs a reversed element-wise boolean And on each column
        /// </summary>
        public DataFrame ReverseAnd(bool value, bool inPlace = false)
        {
            DataFrame retDataFrame = inPlace ? this : new DataFrame();

            for (int i = 0; i < Columns.Count; i++)
            {
                DataFrameColumn baseColumn = _columnCollection[i];
                DataFrameColumn newColumn  = baseColumn.ReverseAnd(value, inPlace);
                if (inPlace)
                {
                    retDataFrame.Columns[i] = newColumn;
                }
                else
                {
                    retDataFrame.Columns.Insert(i, newColumn);
                }
            }
            return(retDataFrame);
        }