Inviwo 0.9.12-pre
Inviwo documentation
|
Functions | |
IVW_MODULE_DATAFRAME_API std::shared_ptr< BufferBase > | cloneBufferRange (std::shared_ptr< const BufferBase > buffer, ivec2 range) |
IVW_MODULE_DATAFRAME_API void | copyBufferRange (std::shared_ptr< const BufferBase > src, std::shared_ptr< BufferBase > dst, ivec2 range, size_t dstStart=0) |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > | appendColumns (const DataFrame &left, const DataFrame &right, bool ignoreDuplicates=false, bool fillMissingRows=false) |
create a new DataFrame by appending the columns of DataFrame right to DataFrame left | |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > | appendRows (const DataFrame &top, const DataFrame &bottom, bool matchByName=false) |
create a new DataFrame by appending the rows of DataFrame bottom to DataFrame top | |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > | innerJoin (const DataFrame &left, const DataFrame &right, const std::pair< std::string, std::string > &keyColumns={"index", "index"}) |
create a new DataFrame by using an inner join of DataFrame left and DataFrame right . That is only rows with matching keys are kept. The row indices of left will be reused. | |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > | innerJoin (const DataFrame &left, const DataFrame &right, const std::vector< std::pair< std::string, std::string > > &keyColumns) |
create a new DataFrame by using an inner join of DataFrame left and DataFrame right . That is only rows with matching keys are kept. The row indices of left will be reused. | |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > | leftJoin (const DataFrame &left, const DataFrame &right, const std::pair< std::string, std::string > &keyColumns={"index", "index"}) |
create a new DataFrame by using an outer left join of DataFrame left and DataFrame right . That is all rows of left are augmented with matching rows from right . The row indices of left will be reused. | |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > | leftJoin (const DataFrame &left, const DataFrame &right, const std::vector< std::pair< std::string, std::string > > &keyColumns) |
create a new DataFrame by using an outer left join of DataFrame left and DataFrame right . That is all rows of left are augmented with matching rows from right . The row indices of left will be reused. | |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > | combineDataFrames (std::vector< std::shared_ptr< DataFrame > > dataframes, bool skipIndexColumn=false, std::string skipcol="index") |
template<typename Pred > | |
std::vector< std::uint32_t > | selectRows (std::shared_ptr< const Column > col, Pred pred) |
apply predicate pred to each value of column col and return the row indices where the predicate evaluates to true. | |
IVW_MODULE_DATAFRAME_API std::vector< std::uint32_t > | selectRows (const Column &col, const std::vector< dataframefilters::ItemFilter > &filters) |
apply the filters to each row of column col and return the row indices where any of the filters evaluates to true. | |
IVW_MODULE_DATAFRAME_API std::vector< std::uint32_t > | selectRows (const DataFrame &dataframe, dataframefilters::Filters filters) |
apply the filters to each row of dataframe and return the row indices where any of the include filters and no exclude filter evaluates to true. | |
IVW_MODULE_DATAFRAME_API std::string | createToolTipForRow (const DataFrame &dataframe, size_t rowId) |
Utility functions for DataFrame operations
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > inviwo::dataframe::appendColumns | ( | const DataFrame & | left, |
const DataFrame & | right, | ||
bool | ignoreDuplicates = false, | ||
bool | fillMissingRows = false ) |
create a new DataFrame by appending the columns of DataFrame right
to DataFrame left
left | |
right | |
ignoreDuplicates | duplicate columns, i.e. same column header, are ignored if true |
fillMissingRows | if true, missing rows in either DataFrame are filled with 0 or "undefined" (for categorical columns) |
Exception | if number of rows is different and fillMissingRows is false |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > inviwo::dataframe::appendRows | ( | const DataFrame & | top, |
const DataFrame & | bottom, | ||
bool | matchByName = false ) |
create a new DataFrame by appending the rows of DataFrame bottom
to DataFrame top
top | |
bottom | |
matchByName | if true, column headers are used for matching columns. Otherwise columns are matched by order (default) |
Exception | if number of columns is different or a column cannot be found (matchByName) |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > inviwo::dataframe::innerJoin | ( | const DataFrame & | left, |
const DataFrame & | right, | ||
const std::pair< std::string, std::string > & | keyColumns = {"index", "index"} ) |
create a new DataFrame by using an inner join of DataFrame left
and DataFrame right
. That is only rows with matching keys are kept. The row indices of left
will be reused.
It is assumed that the entries in the key columns are unique. Otherwise results are undefined.
left | |
right | |
keyColumns | headers of the columns used as keys for the join operation (default: index and index column) |
left
and right
DataFrame Exception | if keyColumn does not exist in either left or right |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > inviwo::dataframe::innerJoin | ( | const DataFrame & | left, |
const DataFrame & | right, | ||
const std::vector< std::pair< std::string, std::string > > & | keyColumns ) |
create a new DataFrame by using an inner join of DataFrame left
and DataFrame right
. That is only rows with matching keys are kept. The row indices of left
will be reused.
It is assumed that the entries in the key columns are unique. Otherwise results are undefined.
left | |
right | |
keyColumns | headers of the columns used as keys for the join operation |
left
and right
DataFrame Exception | if keyColumn does not exist in either left or right |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > inviwo::dataframe::leftJoin | ( | const DataFrame & | left, |
const DataFrame & | right, | ||
const std::pair< std::string, std::string > & | keyColumns = {"index", "index"} ) |
create a new DataFrame by using an outer left join of DataFrame left
and DataFrame right
. That is all rows of left
are augmented with matching rows from right
. The row indices of left
will be reused.
It is assumed that the entries in the key columns of right
are unique. Otherwise results are undefined.
left | |
right | |
keyColumns | headers of the columns used as keys for the join operation (default: index and index column) |
left
and right
DataFrame Exception | if keyColumn does not exist in either left or right |
IVW_MODULE_DATAFRAME_API std::shared_ptr< DataFrame > inviwo::dataframe::leftJoin | ( | const DataFrame & | left, |
const DataFrame & | right, | ||
const std::vector< std::pair< std::string, std::string > > & | keyColumns ) |
create a new DataFrame by using an outer left join of DataFrame left
and DataFrame right
. That is all rows of left
are augmented with matching rows from right
. The row indices of left
will be reused.
It is assumed that the entries in the key columns of right
are unique. Otherwise results are undefined.
left | |
right | |
keyColumns | headers of the columns used as keys for the join operation |
left
and right
DataFrame Exception | if keyColumn does not exist in either left or right |
IVW_MODULE_DATAFRAME_API std::vector< std::uint32_t > inviwo::dataframe::selectRows | ( | const Column & | col, |
const std::vector< dataframefilters::ItemFilter > & | filters ) |
apply the filters
to each row of column col
and return the row indices where any of the filters evaluates to true.
col | column containing data for filtering |
filters | predicate to check values from col |
filters
IVW_MODULE_DATAFRAME_API std::vector< std::uint32_t > inviwo::dataframe::selectRows | ( | const DataFrame & | dataframe, |
dataframefilters::Filters | filters ) |
apply the filters
to each row of dataframe
and return the row indices where any of the include filters and no exclude filter evaluates to true.
dataframe | column containing data for filtering |
filters | predicate to check values from col |
filters
std::vector< std::uint32_t > inviwo::dataframe::selectRows | ( | std::shared_ptr< const Column > | col, |
Pred | pred ) |
apply predicate pred
to each value of column col
and return the row indices where the predicate evaluates to true.
Note: the predicate function needs to take care of the different column datatypes
Alternatively, predicate overloads can be used.
col | column containing data for filtering |
pred | predicate to check values from col |