public DataFrame And <T>(T value)
            where T : unmanaged
        {
            var newDataFrame = new DataFrame();

            for (int i = 0; i < ColumnCount; i++)
            {
                BaseColumn baseColumn = _table.Column(i);
                BaseColumn newColumn  = baseColumn.And(value);
                newDataFrame.InsertColumn(i, newColumn);
            }
            return(newDataFrame);
        }
        public DataFrame And <T>(IReadOnlyList <T> values)
            where T : unmanaged
        {
            if (values.Count != ColumnCount)
            {
                throw new ArgumentException($"values.Count {values.Count} must match the number of columns in the table", nameof(values));
            }
            var newDataFrame = new DataFrame();

            for (int i = 0; i < ColumnCount; i++)
            {
                BaseColumn baseColumn = _table.Column(i);
                BaseColumn newColumn  = baseColumn.And(values[i]);
                newDataFrame.InsertColumn(i, newColumn);
            }
            return(newDataFrame);
        }