/// <summary>
        /// Get the dataframe for the columns specified
        /// </summary>
        /// <param name="columnNumbers">The column numbers.</param>
        /// <returns></returns>
        public DataFrame GetFrame(params int[] columnNumbers)
        {
            DataFrame    result    = new DataFrame();
            List <float> xFrameRow = new List <float>();

            Data.ForEach((record) =>
            {
                xFrameRow = new List <float>();
                for (int i = 0; i < Columns.Count; i++)
                {
                    if (columnNumbers.Contains(i))
                    {
                        xFrameRow.Add(record[i]);
                    }
                }

                result.Add(xFrameRow);
            });

            return(result);
        }
        /// <summary>
        /// Get the dataframe for the columns specified
        /// </summary>
        /// <param name="columnNames">The column names.</param>
        /// <returns></returns>
        public DataFrame GetFrame(params string[] columnNames)
        {
            DataFrame    result    = new DataFrame();
            List <float> xFrameRow = new List <float>();

            Data.ForEach((record) =>
            {
                xFrameRow = new List <float>();
                foreach (var col in Columns)
                {
                    if (columnNames.Contains(col))
                    {
                        xFrameRow.Add(record[Columns.IndexOf(col)]);
                        result.Columns.Add(col);
                    }
                }

                result.Add(xFrameRow);
            });

            return(result);
        }