Meta.Numerics.Data Namespace

Contains types used to import and export, filter, and transform data sets.

Remarks

This namespace contains types for data wrangling, i.e. importing and exporting data and preparing it for analysis.

Our data wrangling system is based on the data frames concept. Data frames are table-based data stores with the following characteristics:

  • Columns are addressable by name.
  • All data in a column is of the same type, but different columns in the same table can have different types.
  • Columns can added, removed, computed, and otherwise manipulated.
  • Rows can be added, removed, filtered, re-ordered, and otherwise manipulated.
  • Tables can be imported and exported in multiple formats.

The central class for storing data is the FrameTable class. Methods such a FromCsv(TextReader) and FromDictionaries(IEnumerableIReadOnlyDictionaryString, Object) allow data to be imported into a table from CSV or JSON formatted text files.

The central class for interrogating data is the FrameView class. Each FrameTable is itself a view, and most manipulations of a view produce a new view, which can itself be further manipulated. When a new FrameView is returned, the original data is not copied, but simply referenced, so these manipulations are typically fast and have a much smaller memory footprint than the data they expose.

Frames support null data values in structure-typed columns using .NET's NullableT structure.

After using the types of this namespace to prepare your data, you can extract columns from your views as strongly-typed lists (which implement IReadOnlyListT, IReadOnlyCollectionT, and IEnumerableT) and hand them to any analysis API. This includes our own statistical analysis APIs in the Meta.Numerics.Data namespace, as well as any APIs from other libraries that operate of lists of strongly typed collections.

Classes

FrameColumn Represents one column of a data frame.
FrameColumnCollection Represents a collection of columns of a data frame.
FrameRow Represents one row of a data frame.
FrameRowCollection Represents a collection of rows of a data frame.
FrameTable Represents a modify-able array of data.
FrameView Represents a read-only view of an array of data.

Enumerations

SortOrder Specifies the order of sorting.