|
DAWorkbench 0.0.1
DAWorkbench API
|
以列为基础的数据表,和python 的 pandas.DataFrame类似 更多...
#include <da_data_table.hpp>
Public 类型 | |
| enum | Mode { FixedMode , ExpandMode } |
| enum | CaseSensitivity { CaseInsensitive , CaseSensitive } |
| typedef T | Type |
| typedef DAVector< T > | SeriesType |
| typedef std::shared_ptr< SeriesType > | SeriesPtr |
| typedef DAVector< T >::iterator | SeriesIterator |
| typedef DAVector< T >::const_iterator | SeriesConstIterator |
| typedef DADataTable< T > | TableType |
| typedef std::shared_ptr< TableType > | TablePtr |
Public 成员函数 | |
| DADataTable () | |
| 构造一个空的数据表 | |
| DADataTable (int rows, int cols) | |
| 构造一个rows行,cols列的表,表的命名以column_{n}来命名 | |
| void | resize (int r, int c) |
| 改变table 的大小 | |
| bool | haveColumns (const QString &field) const |
| 判断是否存在Columns | |
| void | fill (const T &v) |
| 填充元素 | |
| const T & | at (int r, int c) const |
| 定位单元格 | |
| T & | at (int r, int c) |
| 定位单元格 | |
| const T & | iloc (int r, int c) const |
| 定位单元格 | |
| T & | iloc (int r, int c) |
| 定位单元格 | |
| T | cell (int r, int c) const |
| 获取单元格 | |
| void | appendSeries (SeriesPtr ser) |
| 追加一列 | |
| void | appendSeries (std::initializer_list< T > args, const QString &n) |
| template<typename Ite1 , typename Ite2 > | |
| void | appendRow (Ite1 b, Ite2 e) |
| void | appendRow (std::initializer_list< T > args) |
| int | nameToIndex (const QString &n) const |
| SeriesPtr & | series (int c) |
| 获取行引用 | |
| const SeriesPtr & | series (int c) const |
| 获取列引用 | |
| SeriesPtr & | series (const QString &n) |
| 获取列引用 | |
| const SeriesPtr & | series (const QString &n) const |
| 获取列引用 | |
| SeriesPtr | row (int r) const |
| 获取一行数据 | |
| SeriesType & | operator[] (int c) |
| const SeriesType & | operator[] (int c) const |
| SeriesType & | operator[] (const QString &rowname) |
| const SeriesType & | operator[] (const QString &rowname) const |
| void | reserve (int size) |
| void | fixSize () |
| 以最大列数进行列数修正,保证所有行同列 | |
| int | columnCount () const |
| 表的行数 | |
| int | rowCount () const |
| 表的列数 | |
| void | setMode (Mode m) |
| 设置表格的模式 | |
| Mode | getMode () const |
| 获取模式 | |
| void | clear () |
| 清空 | |
| void | setName (const QString &n) |
| 设置表的名字 | |
| QString | getName () const |
| 获取表的名字 | |
| QStringList | columns () const |
| 和pandas统一 | |
| QStringList | columnNames () const |
| 获取列的名字序列 | |
| void | setSeriesNames (const QStringList &ns) |
| 设置行名,如果是个空的表会生成一个默认行 | |
| TablePtr | takeByValue (const QString &field, T value) const |
| 提取某个值等于value作为新表 | |
| QPair< QList< TablePtr >, QList< T > > | groupBy (const QString &field) const |
| groupby | |
| void | orderBy (const QString &sn) |
| orderBy | |
| void | orderBy (int cindex) |
| 排序 | |
| QPair< T, int > | lowerBound (const T &v, const QString &sortedfield) const |
| 查找第一个大于或等于某个元素的位置 | |
| QPair< T, int > | lowerBound (const T &v, int c) const |
| QPair< T, int > | upperBound (const T &v, const QString &sortedfield) const |
| QPair< T, int > | upperBound (const T &v, int c) const |
| void | setCaseSensitivity (CaseSensitivity cs) |
| 设置名字查询时是否对大小写敏感 | |
| bool | isCaseSensitivity () const |
| 判断是否大小写敏感 | |
静态 Public 成员函数 | |
| static SeriesPtr | makeSeries () |
| static SeriesPtr | makeSeries (const QString &n) |
| static SeriesPtr | makeSeries (std::initializer_list< T > args) |
| static TablePtr | makeTable () |
以列为基础的数据表,和python 的 pandas.DataFrame类似
表格形如:
列名字
|name| "0" | "1" | "2" | "3" | …… | "n" | 表内容:
|0 | 1 | 2 | 1 | 0 | …… | 6 | |1 | 4 | 5 | 6 | 7 | …… | 8 | ………………
可以通过行序号进行索引 table[1] //row2 可以索引到单元格 table.cell(1,2) //row2[2]:6 等同table[1][2] 可以通过行名索引到单元格 table["row2"][2] //row2[2]:6 等同table[1][2]
| enum DA::DADataTable::CaseSensitivity |
| enum DA::DADataTable::Mode |
| DA::DADataTable< T >::DADataTable | ( | int | rows, |
| int | cols | ||
| ) |
构造一个rows行,cols列的表,表的命名以column_{n}来命名
| rows | 行 |
| cols | 列 |
| void DA::DADataTable< T >::appendSeries | ( | SeriesPtr | ser | ) |
追加一列
| ser |
| T & DA::DADataTable< T >::at | ( | int | r, |
| int | c | ||
| ) |
定位单元格
| r | 行 |
| c | 列 |
| const T & DA::DADataTable< T >::at | ( | int | r, |
| int | c | ||
| ) | const |
定位单元格
| r | 行 |
| c | 列 |
| T DA::DADataTable< T >::cell | ( | int | r, |
| int | c | ||
| ) | const |
获取单元格
| r | |
| c |
| int DA::DADataTable< T >::columnCount | ( | ) | const |
表的行数
列数
| QStringList DA::DADataTable< T >::columnNames | ( | ) | const |
获取列的名字序列
| QStringList DA::DADataTable< T >::columns | ( | ) | const |
| void DA::DADataTable< T >::fill | ( | const T & | v | ) |
填充元素
填充值
| v | |
| v | 需要填充的值 |
| void DA::DADataTable< T >::fixSize | ( | ) |
以最大列数进行列数修正,保证所有行同列
在每个列的行数不一样的时候调用此函数让整个表格规整
| DADataTable< T >::Mode DA::DADataTable< T >::getMode | ( | ) | const |
获取模式
| QString DA::DADataTable< T >::getName | ( | ) | const |
获取表的名字
| QPair< QList< typename DADataTable< T >::TablePtr >, QList< T > > DA::DADataTable< T >::groupBy | ( | const QString & | field | ) | const |
groupby
聚合
| field | |
| cs |
| field |
| bool DA::DADataTable< T >::haveColumns | ( | const QString & | field | ) | const |
判断是否存在Columns
| field |
| T & DA::DADataTable< T >::iloc | ( | int | r, |
| int | c | ||
| ) |
定位单元格
| r | 行 |
| c | 列 |
| const T & DA::DADataTable< T >::iloc | ( | int | r, |
| int | c | ||
| ) | const |
定位单元格
| r | 行 |
| c | 列 |
| bool DA::DADataTable< T >::isCaseSensitivity | ( | ) | const |
判断是否大小写敏感
获取大小写敏感性
| cs |
| QPair< T, int > DA::DADataTable< T >::lowerBound | ( | const T & | v, |
| const QString & | sortedfield | ||
| ) | const |
| void DA::DADataTable< T >::orderBy | ( | const QString & | sn | ) |
orderBy
排序
| sn |
| void DA::DADataTable< T >::orderBy | ( | int | cindex | ) |
排序
| cindex |
| void DA::DADataTable< T >::resize | ( | int | r, |
| int | c | ||
| ) |
改变table 的大小
| r | 行 |
| c | 列 |
| DADataTable< T >::SeriesPtr DA::DADataTable< T >::row | ( | int | r | ) | const |
获取一行数据
| r | 行 |
| int DA::DADataTable< T >::rowCount | ( | ) | const |
表的列数
行数
| DADataTable< T >::SeriesPtr & DA::DADataTable< T >::series | ( | const QString & | n | ) |
获取列引用
| n | 列名 |
| const DADataTable< T >::SeriesPtr & DA::DADataTable< T >::series | ( | const QString & | n | ) | const |
获取列引用
| n | 列名 |
| DADataTable< T >::SeriesPtr & DA::DADataTable< T >::series | ( | int | c | ) |
获取行引用
| c | 列索引 |
| const DADataTable< T >::SeriesPtr & DA::DADataTable< T >::series | ( | int | c | ) | const |
获取列引用
| c | 列索引 |
| void DA::DADataTable< T >::setCaseSensitivity | ( | CaseSensitivity | cs | ) |
设置名字查询时是否对大小写敏感
设置大小写敏感性
| cs |
| void DA::DADataTable< T >::setMode | ( | Mode | m | ) |
设置表格的模式
| m | 模式 Mode |
| void DA::DADataTable< T >::setName | ( | const QString & | n | ) |
设置表的名字
| n |
| void DA::DADataTable< T >::setSeriesNames | ( | const QStringList & | ns | ) |
设置行名,如果是个空的表会生成一个默认行
设置列的名字序列
| ns |
| ns |
| DADataTable< T >::TablePtr DA::DADataTable< T >::takeByValue | ( | const QString & | field, |
| T | value | ||
| ) | const |
提取某个值等于value作为新表
逐行遍历,把指定列的内容和值一致的行保留,形成一个新的表,主要用于匹配
| field | |
| value | |
| cs |
| field | |
| value |