DataFrame
Defined in: src/dataframe/data-frame.ts:47
DataFrame is a high-performance, easy to use tabular structure with strongly-typed columns of different types.
In the API, the terms "Table" and "DataFrame" are used interchangeably.
Usage samples: https://public.datagrok.ai/js/samples/data-frame/manipulate Usage details: https://datagrok.ai/help/develop/advanced/data-frame Implementation details: https://datagrok.ai/help/develop/admin/architecture#in-memory-database
Constructors
Constructor
new DataFrame(
dart):DataFrame
Defined in: src/dataframe/data-frame.ts:58
Parameters
| Parameter | Type |
|---|---|
dart | any |
Returns
DataFrame
Properties
| Property | Modifier | Type | Defined in |
|---|---|---|---|
_meta | public | DataFrameMetaHelper | undefined | src/dataframe/data-frame.ts:54 |
columns | public | ColumnList | src/dataframe/data-frame.ts:49 |
dart | readonly | any | src/dataframe/data-frame.ts:48 |
filter | public | BitSet | src/dataframe/data-frame.ts:51 |
rows | public | RowList | src/dataframe/data-frame.ts:50 |
tags | public | any | src/dataframe/data-frame.ts:53 |
temp | public | any | src/dataframe/data-frame.ts:52 |
Accessors
currentCell
Get Signature
get currentCell():
Cell
Defined in: src/dataframe/data-frame.ts:321
Current cell. Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements
Returns
Set Signature
set currentCell(
cell):void
Defined in: src/dataframe/data-frame.ts:327
Current cell. Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements
Parameters
| Parameter | Type |
|---|---|
cell | Cell |
Returns
void
currentCol
Get Signature
get currentCol():
Column
Defined in: src/dataframe/data-frame.ts:309
Current column. Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements
Returns
Set Signature
set currentCol(
col):void
Defined in: src/dataframe/data-frame.ts:315
Current column. Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements
Parameters
| Parameter | Type |
|---|---|
col | Column |
Returns
void
currentRow
Get Signature
get currentRow():
Row
Defined in: src/dataframe/data-frame.ts:296
Current row. Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements
Returns
Set Signature
set currentRow(
row):void
Defined in: src/dataframe/data-frame.ts:297
Parameters
| Parameter | Type |
|---|---|
row | Row |
Returns
void
currentRowIdx
Get Signature
get currentRowIdx():
number
Defined in: src/dataframe/data-frame.ts:300
Index of the current row.
Returns
number
Set Signature
set currentRowIdx(
idx):void
Defined in: src/dataframe/data-frame.ts:301
Parameters
| Parameter | Type |
|---|---|
idx | number |
Returns
void
dialogs
Get Signature
get dialogs():
DataFrameDialogHelper
Defined in: src/dataframe/data-frame.ts:149
Returns
id
Get Signature
get id():
string
Defined in: src/dataframe/data-frame.ts:506
Id of the dataframe.
Returns
string
Set Signature
set id(
id):void
Defined in: src/dataframe/data-frame.ts:510
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
void
meta
Get Signature
get meta():
DataFrameMetaHelper
Defined in: src/dataframe/data-frame.ts:136
A helper to conveniently access certain metadata properties stored in tags
Returns
mouseOverRowIdx
Get Signature
get mouseOverRowIdx():
number
Defined in: src/dataframe/data-frame.ts:304
Index of the mouse-over row.
Returns
number
Set Signature
set mouseOverRowIdx(
idx):void
Defined in: src/dataframe/data-frame.ts:305
Parameters
| Parameter | Type |
|---|---|
idx | number |
Returns
void
name
Get Signature
get name():
string
Defined in: src/dataframe/data-frame.ts:166
Name of the dataframe.
Returns
string
Set Signature
set name(
s):void
Defined in: src/dataframe/data-frame.ts:167
Parameters
| Parameter | Type |
|---|---|
s | string |
Returns
void
onColumnNameChanged
Get Signature
get onColumnNameChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:451
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onColumnsAdded
Get Signature
get onColumnsAdded():
Observable<any>
Defined in: src/dataframe/data-frame.ts:460
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onColumnsChanged
Get Signature
get onColumnsChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:457
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onColumnSelectionChanged
Get Signature
get onColumnSelectionChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:454
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onColumnsRemoved
Get Signature
get onColumnsRemoved():
Observable<any>
Defined in: src/dataframe/data-frame.ts:463
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onCurrentCellChanged
Get Signature
get onCurrentCellChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:439
Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements
Returns
Observable<any>
onCurrentColChanged
Get Signature
get onCurrentColChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:433
Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements
Returns
Observable<any>
onCurrentRowChanged
Get Signature
get onCurrentRowChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:427
Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements
Returns
Observable<any>
onDataChanged
Get Signature
get onDataChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:484
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onFilterChanged
Get Signature
get onFilterChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:493
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onMetadataChanged
Get Signature
get onMetadataChanged():
Observable<EventData<MapChangeArgs<string,string>>>
Defined in: src/dataframe/data-frame.ts:448
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<EventData<MapChangeArgs<string, string>>>
onMouseOverColChanged
Get Signature
get onMouseOverColChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:436
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onMouseOverRowChanged
Get Signature
get onMouseOverRowChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:430
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onMouseOverRowGroupChanged
Get Signature
get onMouseOverRowGroupChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:442
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onNameChanged
Get Signature
get onNameChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:445
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onRowsAdded
Get Signature
get onRowsAdded():
Observable<any>
Defined in: src/dataframe/data-frame.ts:466
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onRowsFiltered
Get Signature
get onRowsFiltered():
Observable<any>
Defined in: src/dataframe/data-frame.ts:472
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onRowsFiltering
Get Signature
get onRowsFiltering():
Observable<any>
Defined in: src/dataframe/data-frame.ts:475
Returns
Observable<any>
onRowsRemoved
Get Signature
get onRowsRemoved():
Observable<any>
Defined in: src/dataframe/data-frame.ts:469
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onSelectionChanged
Get Signature
get onSelectionChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:490
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
onSemanticTypeDetected
Get Signature
get onSemanticTypeDetected():
Observable<any>
Defined in: src/dataframe/data-frame.ts:481
Sample: https://public.datagrok.ai/js/samples/data-frame/advanced/semantic-type-detection
Returns
Observable<any>
onSemanticTypeDetecting
Get Signature
get onSemanticTypeDetecting():
Observable<any>
Defined in: src/dataframe/data-frame.ts:478
Sample: https://public.datagrok.ai/js/samples/data-frame/advanced/semantic-type-detection
Returns
Observable<any>
onValuesChanged
Get Signature
get onValuesChanged():
Observable<any>
Defined in: src/dataframe/data-frame.ts:424
Sample: https://public.datagrok.ai/js/samples/data-frame/events/events
Returns
Observable<any>
plot
Get Signature
get plot():
DataFramePlotHelper
Defined in: src/dataframe/data-frame.ts:143
A helper for creating plots for this dataframe
Returns
rowCount
Get Signature
get rowCount():
number
Defined in: src/dataframe/data-frame.ts:156
Returns number of rows in the table.
Returns
number
selection
Get Signature
get selection():
BitSet
Defined in: src/dataframe/data-frame.ts:161
Returns a BitSet with selected rows.
Returns
Methods
_event()
_event(
event):Observable<any>
Defined in: src/dataframe/data-frame.ts:415
Parameters
| Parameter | Type |
|---|---|
event | string |
Returns
Observable<any>
_exportReopen()
_exportReopen():
DataFrame
Defined in: src/dataframe/data-frame.ts:522
Returns
DataFrame
append()
append(
t2,inPlace?,columnsToAppend?):DataFrame
Defined in: src/dataframe/data-frame.ts:407
Appends two tables ('union' in SQL).
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
t2 | DataFrame | undefined | - |
inPlace | boolean | false | whether to create a new table, or modify 'this' one. |
columnsToAppend | string[] | null | null | - |
Returns
DataFrame
appendMerge()
appendMerge(
t):void
Defined in: src/dataframe/data-frame.ts:411
Parameters
| Parameter | Type |
|---|---|
t | DataFrame |
Returns
void
cell()
cell(
idx,name):Cell
Defined in: src/dataframe/data-frame.ts:223
Returns a Cell with the specified row and column.
Parameters
| Parameter | Type | Description |
|---|---|---|
idx | number | Row index. |
name | string | Column name. |
Returns
changeColumnsType()
changeColumnsType(
columns,newType,format?):Column<any,any>[]
Defined in: src/dataframe/data-frame.ts:348
Converts columns with the specified names to [newType], removes the original columns from the dataframe and adds the new columns to it.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
columns | (string | Column<any, any>)[] | undefined | - |
newType | "string" | "bigint" | "object" | "int" | "double" | "bool" | "byte_array" | "datetime" | "qnum" | "dataframe" | undefined | - |
format | string | null | null | number format |
Returns
Column<any, any>[]
See
changeColumnType()
changeColumnType(
column,newType,format?):Column
Defined in: src/dataframe/data-frame.ts:338
Converts a column with the specified name to [newType], removes the original column from its dataframe and adds the new column to it.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
column | string | Column<any, any> | undefined | - |
newType | "string" | "bigint" | "object" | "int" | "double" | "bool" | "byte_array" | "datetime" | "qnum" | "dataframe" | undefined | - |
format | string | null | null | number format |
Returns
Deprecated
Use changeColumnsType instead.
See
clone()
clone(
rowMask?,columnIds?,saveSelection?,saveTags?):DataFrame
Defined in: src/dataframe/data-frame.ts:290
Creates a new dataframe from the specified row mask and a list of columns.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
rowMask | BitSet | null | null | Rows to include. |
columnIds | string[] | null | null | Columns to include. |
saveSelection | boolean | false | Whether selection should be saved. |
saveTags | boolean | true | Whether tags should be copied to the new dataframe. |
Returns
DataFrame
col()
col(
nameOrIndex):Column<any,any> |null
Defined in: src/dataframe/data-frame.ts:210
Returns a Column with the specified name.
Parameters
| Parameter | Type | Description |
|---|---|---|
nameOrIndex | string | number | Column name. |
Returns
Column<any, any> | null
fireValuesChanged()
fireValuesChanged():
void
Defined in: src/dataframe/data-frame.ts:495
Returns
void
get()
get(
name,idx):any
Defined in: src/dataframe/data-frame.ts:195
Returns idx-th value of the specified columns.
Parameters
| Parameter | Type | Description |
|---|---|---|
name | string | Column name. |
idx | number | Row index. |
Returns
any
getCol()
getCol(
name):Column
Defined in: src/dataframe/data-frame.ts:230
Same as col, but throws Error if column is not found
Parameters
| Parameter | Type | Description |
|---|---|---|
name | string | Column name. |
Returns
getDensity()
getDensity(
xBins,yBins,xColName,yColName):Int32Array
Defined in: src/dataframe/data-frame.ts:514
Parameters
| Parameter | Type |
|---|---|
xBins | number |
yBins | number |
xColName | string |
yColName | string |
Returns
Int32Array
getSortedOrder()
getSortedOrder(
sortByColumnIds,sortOrders?,rowMask?):Int32Array
Defined in: src/dataframe/data-frame.ts:361
Returns [Int32Array] that contains sorted order, or null for unsorted (original) order. See also Column.getSortedOrder. Sample: https://public.datagrok.ai/js/samples/data-frame/sorting/sorted-order
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
sortByColumnIds | ColumnId[] | undefined | Collection of [Column]s to use as keys for sorting. |
sortOrders | boolean[] | null | null | List of sort orders for [sortByCols]. True == ascending. |
rowMask | BitSet | null | null | Mask of the rows to sort. Result array will contain [rowIndexes.length] elements. |
Returns
Int32Array
getTableInfo()
getTableInfo():
TableInfo
Defined in: src/dataframe/data-frame.ts:518
Returns
getTag()
getTag(
tag):string|null
Defined in: src/dataframe/data-frame.ts:171
Returns the value of the specified tag, or null if it does not exist.
Parameters
| Parameter | Type |
|---|---|
tag | string |
Returns
string | null
groupBy()
groupBy(
columnNames?):GroupByBuilder
Defined in: src/dataframe/data-frame.ts:369
Begins building a query, using the specified columns as keys.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
columnNames | string[] | [] | Names of the columns to be used as keys. |
Returns
join()
join(
t2,keyColumns1,keyColumns2,valueColumns1?,valueColumns2?,joinType?,inPlace?):DataFrame
Defined in: src/dataframe/data-frame.ts:396
Merges two tables by the specified key columns.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
t2 | DataFrame | undefined | a table to join |
keyColumns1 | string[] | undefined | key column names from the first table |
keyColumns2 | string[] | undefined | key column names from the second table |
valueColumns1 | string[] | null | null | column names to copy from the first table. Pass null to add all columns, an empty array [] to not add any columns, or an array with column names to add them specifically. |
valueColumns2 | string[] | null | null | column names to copy from the second table |
joinType | "left" | "right" | "inner" | "outer" | JOIN_TYPE.INNER | inner, outer, left, or right. See [DG.JOIN_TYPE] |
inPlace | boolean | false | merges content in-place into the source table |
Returns
DataFrame
Sample: https://public.datagrok.ai/js/samples/data-frame/join-link/join-tables
onEvent()
onEvent(
event):Observable<any>
Defined in: src/dataframe/data-frame.ts:419
Parameters
| Parameter | Type |
|---|---|
event | string |
Returns
Observable<any>
row()
row(
rowIndex):Row
Defined in: src/dataframe/data-frame.ts:188
Returns i-th row. NOTE: Do not use in performance-critical paths, consider accessing values via the Column instance.
Parameters
| Parameter | Type |
|---|---|
rowIndex | number |
Returns
set()
set(
name,idx,value):void
Defined in: src/dataframe/data-frame.ts:203
Sets idx-th value of the specified columns.
Parameters
| Parameter | Type | Description |
|---|---|---|
name | string | Column name. |
idx | number | Row index. |
value | any | Value. |
Returns
void
setTag()
setTag(
tag,value):DataFrame
Defined in: src/dataframe/data-frame.ts:178
Sets a tag to the specified value.
Parameters
| Parameter | Type | Description |
|---|---|---|
tag | string | Key. |
value | string | Value. |
Returns
DataFrame
toArrow()
toArrow():
Uint8Array
Defined in: src/dataframe/data-frame.ts:280
Exports dataframe to Arrow IPC format.
Returns
Uint8Array
toByteArray()
toByteArray():
Uint8Array
Defined in: src/dataframe/data-frame.ts:269
Exports dataframe to binary
Returns
Uint8Array
toCsv()
toCsv(
options?,grid?):string
Defined in: src/dataframe/data-frame.ts:241
Exports the content to comma-separated-values format.
Parameters
| Parameter | Type | Description |
|---|---|---|
options? | CsvExportOptions | options for the export |
grid? | Grid | if specified, takes visible columns, column and row order from the grid. |
Returns
string
toCsvEx()
toCsvEx(
options?,grid?):Promise<string>
Defined in: src/dataframe/data-frame.ts:250
Exports the content to comma-separated-values format asynchronously with converting the molblock columns to smiles if specified.
Parameters
| Parameter | Type | Description |
|---|---|---|
options? | CsvExportOptions | options for the export |
grid? | Grid | if specified, takes visible columns, column and row order from the grid. |
Returns
Promise<string>
toJson()
toJson():
any[]
Defined in: src/dataframe/data-frame.ts:257
Converts the contents to array of objects, with column names as keys. Keep in mind that the internal DataFrame format is far more efficient than JSON, so use it only as a convenience for working with relatively small datasets.
Returns
any[]
toParquet()
toParquet(
compress?):Uint8Array
Defined in: src/dataframe/data-frame.ts:275
Exports dataframe to Parquet format.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
compress | boolean | false | If true, applies GZIP compression. |
Returns
Uint8Array
toString()
toString():
string
Defined in: src/dataframe/data-frame.ts:500
Returns
string
unpivot()
unpivot(
copyColumnNames,mergeColumnNames,categoryColumnName?,valueColumnName?):DataFrame
Defined in: src/dataframe/data-frame.ts:379
Unpivots the table (converts from 'wide' representation with many columns to 'tall and skinny').
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
copyColumnNames | string[] | undefined | columns to copy |
mergeColumnNames | string[] | undefined | columns to merge. Column name will become a value in the [categoryColumnName] column, and column value will become a value in the [valueColumnName] column. |
categoryColumnName | string | 'Category' | - |
valueColumnName | string | 'Value' | - |
Returns
DataFrame
create()
staticcreate(rowCount?,name?):DataFrame
Defined in: src/dataframe/data-frame.ts:68
Creates a DataFrame with the specified number of rows and no columns.
Parameters
| Parameter | Type | Default value |
|---|---|---|
rowCount | number | 0 |
name? | string | undefined |
Returns
DataFrame
fromByteArray()
staticfromByteArray(byteArray):DataFrame
Defined in: src/dataframe/data-frame.ts:75
Parameters
| Parameter | Type |
|---|---|
byteArray | Uint8Array |
Returns
DataFrame
fromColumns()
staticfromColumns(columns):DataFrame
Defined in: src/dataframe/data-frame.ts:80
Creates a DataFrame from the specified columns. All columns should be of the same length.
Parameters
| Parameter | Type |
|---|---|
columns | Column<any, any>[] |
Returns
DataFrame
fromCsv()
staticfromCsv(csv,options?):DataFrame
Defined in: src/dataframe/data-frame.ts:123
Constructs DataFrame from a comma-separated values string
Parameters
| Parameter | Type | Description |
|---|---|---|
csv | string | The content of the comma-separated values file. https://dev.datagrok.ai/script/samples/javascript/data-frame/construction/create-from-csv |
options? | CsvImportOptions | - |
Returns
DataFrame
fromJson()
staticfromJson(json):DataFrame
Defined in: src/dataframe/data-frame.ts:131
Constructs DataFrame from the specified JSON string.
Parameters
| Parameter | Type | Description |
|---|---|---|
json | string | JSON document. https://dev.datagrok.ai/script/samples/javascript/data-frame/construction/create-from-json |
Returns
DataFrame
fromObjects()
staticfromObjects(list):DataFrame|undefined
Defined in: src/dataframe/data-frame.ts:102
Creates a [DataFrame] from a list of objects by using object keys as column names, and object values as values.
NOTE: The implementation converts the values to strings first and then parses it, so do not use this method in performance-critical paths (for instance when the number of objects could be big), consider using fromColumns instead.
Parameters
| Parameter | Type | Description |
|---|---|---|
list | object[] | List of objects. https://dev.datagrok.ai/script/samples/javascript/data-frame/construction/create-from-objects |
Returns
DataFrame | undefined
fromProperties()
staticfromProperties(properties,rows?):DataFrame
Defined in: src/dataframe/data-frame.ts:85
Creates a DataFrame from the specified properties with the specified row count.
Parameters
| Parameter | Type | Default value |
|---|---|---|
properties | Property[] | undefined |
rows | number | 0 |
Returns
DataFrame