|  | openGPMP
    Open Source Mathematics Package | 
#include <datatable.hpp>
| Public Member Functions | |
| DataTable () | |
| DataTableStr | csv_read (std::string filename, std::vector< std::string > columns={}) | 
| Reads a CSV file and returns a DataTableStr parses CSV files and stores all data as strings.  More... | |
| void | csv_write () | 
| Write DataTable to a CSV file.  More... | |
| DataTableStr | tsv_read (std::string filename, std::vector< std::string > columns={}) | 
| Reads a TSV file and returns a DataTableStr parses TSV files and stores all data as strings.  More... | |
| DataTableStr | json_read (std::string filename, std::vector< std::string > objs={}) | 
| Reads a JSON file and returns a DataTableStr parses JSON files and stores all data as strings.  More... | |
| DataTableStr | datetime (std::string column_name, bool extract_year=true, bool extract_month=true, bool extract_time=false) | 
| Extracts date and time components from a timestamp column.  More... | |
| void | sort (const std::vector< std::string > &sort_columns, bool ascending=true) | 
| Sorts the rows of the DataTable based on specified columns.  More... | |
| std::vector< DataTableStr > | group_by (std::vector< std::string > group_by_columns) | 
| Groups the data by specified columns.  More... | |
| DataTableStr | first (const std::vector< gpmp::core::DataTableStr > &groups) const | 
| Gets the first element of each created group.  More... | |
| void | describe () | 
| Prints some information about the DataTable.  More... | |
| DataTableInt | str_to_int (DataTableStr src) | 
| Converts a DataTableStr to a DataTableInt.  More... | |
| DataTableDouble | str_to_double (DataTableStr src) | 
| Converts a DataTableStr to a DataTableDouble.  More... | |
| template<typename T > | |
| void | display (std::pair< std::vector< T >, std::vector< std::vector< T >>> data, bool display_all=false) | 
| Sort a DataTable based on a specified column.  More... | |
| void | display (bool display_all=false) | 
| Overload function for display() defaults to displaying what is currently stored in a DataTable object.  More... | |
| DataTable () | |
| DataTable constructor. Initializes column & row storage.  More... | |
| void | printData () | 
| TableType | csv_read_new (std::string filename, std::vector< std::string > columns={}) | 
| Reads a CSV file and returns a DataTableStr parses CSV files and stores all data as strings.  More... | |
| DataTableStr | csv_read (std::string filename, std::vector< std::string > columns) | 
| void | csv_write () | 
| Write DataTable to a CSV file.  More... | |
| DataTableStr | tsv_read (std::string filename, std::vector< std::string > columns={}) | 
| Reads a TSV file and returns a DataTableStr parses TSV files and stores all data as strings.  More... | |
| DataTableStr | json_read (std::string filename, std::vector< std::string > objs={}) | 
| Reads a JSON file and returns a DataTableStr parses JSON files and stores all data as strings.  More... | |
| void | drop (std::vector< std::string > column_name) | 
| Drop specified rows from a DataTable.  More... | |
| DataTableStr | datetime (std::string column_name, bool extract_year=true, bool extract_month=true, bool extract_time=false) | 
| Extracts date and time components from a timestamp column.  More... | |
| void | sort (const std::vector< std::string > &sort_columns, bool ascending=true) | 
| Sorts the rows of the DataTable based on specified columns.  More... | |
| std::vector< DataTableStr > | group_by (std::vector< std::string > group_by_columns) | 
| Groups the data by specified columns.  More... | |
| DataTableStr | first (const std::vector< gpmp::core::DataTableStr > &groups) const | 
| Gets the first element of each created group.  More... | |
| void | describe () | 
| Displays some information about the DataTable.  More... | |
| void | info () | 
| Displays data types and null vals for each column.  More... | |
| TableType | native_type (const std::vector< std::string > &skip_columns={}) | 
| Converts DataTable column's rows to their native types. Since the existing DataTable read/load related methods hone in on the DataTableStr type, there must be a way to get those types to their native formats.  More... | |
| DataType | inferType (const std::vector< std::string > &column) | 
| DataTableInt | str_to_int (DataTableStr src) | 
| Converts a DataTableStr to a DataTableInt.  More... | |
| DataTableDouble | str_to_double (DataTableStr src) | 
| Converts a DataTableStr to a DataTableDouble.  More... | |
| void | display (const TableType &data, bool display_all=false) | 
| Sort a DataTable based on a specified column.  More... | |
| void | display (bool display_all=false) | 
| Overload function for display() defaults to displaying what is currently stored in a DataTable object.  More... | |
| Private Attributes | |
| std::vector< std::string > | headers_ | 
| std::vector< std::vector< std::string > > | rows_ | 
| std::vector< std::string > | new_headers_ | 
| std::vector< std::vector< std::string > > | data_ | 
| DataTableStr | original_data_ | 
| MixedType | rows_ | 
| MixedType | data_ | 
Definition at line 76 of file datatable.hpp.
| 
 | inline | 
Definition at line 91 of file datatable.hpp.
| 
 | inline | 
DataTable constructor. Initializes column & row storage.
Definition at line 111 of file datatable_wip.hpp.
| DataTableStr gpmp::core::DataTable::csv_read | ( | std::string | filename, | 
| std::vector< std::string > | columns | ||
| ) | 
| gpmp::core::TableType gpmp::core::DataTable::csv_read | ( | std::string | filename, | 
| std::vector< std::string > | columns = {} | ||
| ) | 
Reads a CSV file and returns a DataTableStr parses CSV files and stores all data as strings.
| filename | the path to the CSV file | 
| columns | optional vector of column names to read in, if empty all columns will be read in | 
Definition at line 57 of file datatable.cpp.
References data_, and headers_.
Referenced by main(), and test_train().
| TableType gpmp::core::DataTable::csv_read_new | ( | std::string | filename, | 
| std::vector< std::string > | columns = {} | ||
| ) | 
Reads a CSV file and returns a DataTableStr parses CSV files and stores all data as strings.
| filename | the path to the CSV file | 
| columns | optional vector of column names to read in, if empty all columns will be read in | 
| void gpmp::core::DataTable::csv_write | ( | ) | 
Write DataTable to a CSV file.
| void gpmp::core::DataTable::csv_write | ( | ) | 
Write DataTable to a CSV file.
| gpmp::core::DataTableStr gpmp::core::DataTable::datetime | ( | std::string | column_name, | 
| bool | extract_year = true, | ||
| bool | extract_month = true, | ||
| bool | extract_time = false | ||
| ) | 
Extracts date and time components from a timestamp column.
| column_name | The name of the timestamp column | 
| extract_year | If true, extract the year component | 
| extract_month | If true, extract the month component | 
| extract_time | If true, extract the time component | 
Definition at line 147 of file datatable.cpp.
References _log_, ERROR, gpmp::core::Logger::log(), and year.
| DataTableStr gpmp::core::DataTable::datetime | ( | std::string | column_name, | 
| bool | extract_year = true, | ||
| bool | extract_month = true, | ||
| bool | extract_time = false | ||
| ) | 
Extracts date and time components from a timestamp column.
| column_name | The name of the timestamp column | 
| extract_year | If true, extract the year component | 
| extract_month | If true, extract the month component | 
| extract_time | If true, extract the time component | 
| void gpmp::core::DataTable::describe | ( | ) | 
Prints some information about the DataTable.
| void gpmp::core::DataTable::describe | ( | ) | 
Displays some information about the DataTable.
| 
 | inline | 
Overload function for display() defaults to displaying what is currently stored in a DataTable object.
| display_all | Display all rows, defaults to false. | 
Definition at line 316 of file datatable.hpp.
| void gpmp::core::DataTable::display | ( | bool | display_all = false | ) | 
| void gpmp::core::DataTable::display | ( | const TableType & | data, | 
| bool | display_all = false | ||
| ) | 
Sort a DataTable based on a specified column.
Displays a DataTable of type T with the option to display all or a subset of rows
| T | The type of the DataTable to be displayed | 
| data | A pair of vectors representing the header and data rows of the DataTable | 
| display_all | A flag indicating whether to display all rows or just a subset | 
Definition at line 196 of file datatable2.cpp.
| 
 | inline | 
Sort a DataTable based on a specified column.
Displays a DataTable of type T with the option to display all or a subset of rows
| T | The type of the DataTable to be displayed | 
| data | A pair of vectors representing the header and data rows of the DataTable | 
| display_all | A flag indicating whether to display all rows or just a subset | 
Definition at line 216 of file datatable.hpp.
| void gpmp::core::DataTable::drop | ( | std::vector< std::string > | column_name | ) | 
Drop specified rows from a DataTable.
| gpmp::core::DataTableStr gpmp::core::DataTable::first | ( | const std::vector< gpmp::core::DataTableStr > & | groups | ) | const | 
Gets the first element of each created group.
| groups | Return type of gpmp::core::DataTable.group() | 
Definition at line 317 of file datatable.cpp.
| DataTableStr gpmp::core::DataTable::first | ( | const std::vector< gpmp::core::DataTableStr > & | groups | ) | const | 
Gets the first element of each created group.
| groups | Return type of gpmp::core::DataTable.group() | 
| std::vector< gpmp::core::DataTableStr > gpmp::core::DataTable::group_by | ( | std::vector< std::string > | group_by_columns | ) | 
Groups the data by specified columns.
| group_by_columns | The column names to group by | 
Definition at line 250 of file datatable.cpp.
References _log_, ERROR, and gpmp::core::Logger::log().
| std::vector<DataTableStr> gpmp::core::DataTable::group_by | ( | std::vector< std::string > | group_by_columns | ) | 
Groups the data by specified columns.
| group_by_columns | The column names to group by | 
| gpmp::core::DataType gpmp::core::DataTable::inferType | ( | const std::vector< std::string > & | column | ) | 
Definition at line 135 of file datatable1.cpp.
References _log_, gpmp::core::dt_double, gpmp::core::dt_int32, gpmp::core::dt_str, INFO, is_double(), is_int(), and gpmp::core::Logger::log().
| void gpmp::core::DataTable::info | ( | ) | 
| DataTableStr gpmp::core::DataTable::json_read | ( | std::string | filename, | 
| std::vector< std::string > | objs = {} | ||
| ) | 
Reads a JSON file and returns a DataTableStr parses JSON files and stores all data as strings.
| filename | the path to the JSON file | 
| objs | optional vector of JSON object names to read in, if empty all objects will be read in | 
| DataTableStr gpmp::core::DataTable::json_read | ( | std::string | filename, | 
| std::vector< std::string > | objs = {} | ||
| ) | 
Reads a JSON file and returns a DataTableStr parses JSON files and stores all data as strings.
| filename | the path to the JSON file | 
| objs | optional vector of JSON object names to read in, if empty all objects will be read in | 
| gpmp::core::TableType gpmp::core::DataTable::native_type | ( | const std::vector< std::string > & | skip_columns = {} | ) | 
Converts DataTable column's rows to their native types. Since the existing DataTable read/load related methods hone in on the DataTableStr type, there must be a way to get those types to their native formats.
Definition at line 176 of file datatable1.cpp.
References _log_, gpmp::core::dt_double, gpmp::core::dt_int32, gpmp::core::dt_str, dt_to_str(), INFO, and gpmp::core::Logger::log().
| 
 | inline | 
Definition at line 116 of file datatable_wip.hpp.
| void gpmp::core::DataTable::sort | ( | const std::vector< std::string > & | sort_columns, | 
| bool | ascending = true | ||
| ) | 
Sorts the rows of the DataTable based on specified columns.
| sort_columns | A vector of column names to sort by. | 
| ascending | If true, sort in ascending order; otherwise, sort in descending order, default is true. | 
Definition at line 217 of file datatable.cpp.
| void gpmp::core::DataTable::sort | ( | const std::vector< std::string > & | sort_columns, | 
| bool | ascending = true | ||
| ) | 
Sorts the rows of the DataTable based on specified columns.
| sort_columns | A vector of column names to sort by. | 
| ascending | If true, sort in ascending order; otherwise, sort in descending order, default is true. | 
| gpmp::core::DataTableDouble gpmp::core::DataTable::str_to_double | ( | DataTableStr | src | ) | 
Converts a DataTableStr to a DataTableDouble.
| src | A DataTableStr object to be converted | 
Definition at line 370 of file datatable.cpp.
| DataTableDouble gpmp::core::DataTable::str_to_double | ( | DataTableStr | src | ) | 
Converts a DataTableStr to a DataTableDouble.
| src | A DataTableStr object to be converted | 
| gpmp::core::DataTableInt gpmp::core::DataTable::str_to_int | ( | DataTableStr | src | ) | 
Converts a DataTableStr to a DataTableInt.
| src | The DataTableStr to convert | 
Definition at line 347 of file datatable.cpp.
| DataTableInt gpmp::core::DataTable::str_to_int | ( | DataTableStr | src | ) | 
Converts a DataTableStr to a DataTableInt.
| src | The DataTableStr to convert | 
| DataTableStr gpmp::core::DataTable::tsv_read | ( | std::string | filename, | 
| std::vector< std::string > | columns = {} | ||
| ) | 
Reads a TSV file and returns a DataTableStr parses TSV files and stores all data as strings.
| filename | the path to the TSV file | 
| columns | optional vector of column names to read in, if empty all columns will be read in | 
| DataTableStr gpmp::core::DataTable::tsv_read | ( | std::string | filename, | 
| std::vector< std::string > | columns = {} | ||
| ) | 
Reads a TSV file and returns a DataTableStr parses TSV files and stores all data as strings.
| filename | the path to the TSV file | 
| columns | optional vector of column names to read in, if empty all columns will be read in | 
| 
 | private | 
Definition at line 85 of file datatable.hpp.
Referenced by csv_read(), DataTable(), display(), and printData().
| 
 | private | 
Definition at line 102 of file datatable_wip.hpp.
| 
 | private | 
Definition at line 79 of file datatable.hpp.
Referenced by csv_read(), DataTable(), display(), and printData().
| 
 | private | 
Definition at line 83 of file datatable.hpp.
| 
 | private | 
Definition at line 88 of file datatable.hpp.
| 
 | private | 
Definition at line 81 of file datatable.hpp.
| 
 | private | 
Definition at line 98 of file datatable_wip.hpp.