Skip to main content

DataFrame

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

new DataFrame()

new DataFrame(dart): DataFrame

Parameters

ParameterType
dartany

Returns

DataFrame

Source

src/dataframe.ts:121

Properties

PropertyModifierType
_dialogsprivateundefined | DataFrameDialogHelper
_metapublicundefined | DataFrameMetaHelper
_plotprivateundefined | DataFramePlotHelper
columnspublicColumnList
dartreadonlyany
filterpublicBitSet
rowspublicRowList
tagspublicany
temppublicany

Accessors

currentCell

get currentCell(): Cell

Current cell. Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements

set currentCell(cell): void

Current cell. Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements

Parameters

ParameterType
cellCell

Returns

Cell

Source

src/dataframe.ts:374


currentCol

get currentCol(): Column<any, any>

Current column. Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements

set currentCol(col): void

Current column. Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements

Parameters

ParameterType
colColumn<any, any>

Returns

Column<any, any>

Source

src/dataframe.ts:362


currentRow

get currentRow(): Row

Current row. Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements

set currentRow(row): void

Parameters

ParameterType
rowRow

Returns

Row

Source

src/dataframe.ts:349


currentRowIdx

get currentRowIdx(): number

Index of the current row.

set currentRowIdx(idx): void

Parameters

ParameterType
idxnumber

Returns

number

Source

src/dataframe.ts:353


dialogs

get dialogs(): DataFrameDialogHelper

Returns

DataFrameDialogHelper

Source

src/dataframe.ts:216


id

get id(): string

Id of the dataframe.

set id(id): void

Parameters

ParameterType
idstring

Returns

string

Source

src/dataframe.ts:550


meta

get meta(): DataFrameMetaHelper

A helper to conveniently access certain metadata properties stored in tags

Returns

DataFrameMetaHelper

Source

src/dataframe.ts:203


mouseOverRowIdx

get mouseOverRowIdx(): number

Index of the mouse-over row.

set mouseOverRowIdx(idx): void

Parameters

ParameterType
idxnumber

Returns

number

Source

src/dataframe.ts:357


name

get name(): string

Name of the dataframe.

set name(s): void

Parameters

ParameterType
sstring

Returns

string

Source

src/dataframe.ts:233


onColumnNameChanged

get onColumnNameChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:495


onColumnSelectionChanged

get onColumnSelectionChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:498


onColumnsAdded

get onColumnsAdded(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:504


onColumnsChanged

get onColumnsChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:501


onColumnsRemoved

get onColumnsRemoved(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:507


onCurrentCellChanged

get onCurrentCellChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements

Returns

Observable<any>

Source

src/dataframe.ts:483


onCurrentColChanged

get onCurrentColChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements

Returns

Observable<any>

Source

src/dataframe.ts:477


onCurrentRowChanged

get onCurrentRowChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/current-elements

Returns

Observable<any>

Source

src/dataframe.ts:471


onDataChanged

get onDataChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:528


onFilterChanged

get onFilterChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:537


onMetadataChanged

get onMetadataChanged(): Observable <EventData <MapChangeArgs<string, string>>>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable <EventData <MapChangeArgs<string, string>>>

Source

src/dataframe.ts:492


onMouseOverColChanged

get onMouseOverColChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:480


onMouseOverRowChanged

get onMouseOverRowChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:474


onMouseOverRowGroupChanged

get onMouseOverRowGroupChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:486


onNameChanged

get onNameChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:489


onRowsAdded

get onRowsAdded(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:510


onRowsFiltered

get onRowsFiltered(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:516


onRowsFiltering

get onRowsFiltering(): Observable<any>

Returns

Observable<any>

Source

src/dataframe.ts:519


onRowsRemoved

get onRowsRemoved(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:513


onSelectionChanged

get onSelectionChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:534


onSemanticTypeDetected

get onSemanticTypeDetected(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/advanced/semantic-type-detection

Returns

Observable<any>

Source

src/dataframe.ts:525


onSemanticTypeDetecting

get onSemanticTypeDetecting(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/advanced/semantic-type-detection

Returns

Observable<any>

Source

src/dataframe.ts:522


onValuesChanged

get onValuesChanged(): Observable<any>

Sample: https://public.datagrok.ai/js/samples/data-frame/events/events

Returns

Observable<any>

Source

src/dataframe.ts:468


plot

get plot(): DataFramePlotHelper

A helper for creating plots for this dataframe

Returns

DataFramePlotHelper

Source

src/dataframe.ts:210


rowCount

get rowCount(): number

Returns number of rows in the table.

Returns

number

Source

src/dataframe.ts:223


selection

get selection(): BitSet

Returns a BitSet with selected rows.

Returns

BitSet

Source

src/dataframe.ts:228

Methods

_event()

_event(event): Observable<any>

Parameters

ParameterType
eventstring

Returns

Observable<any>

Source

src/dataframe.ts:459


_exportReopen()

_exportReopen(): DataFrame

Returns

DataFrame

Source

src/dataframe.ts:566


append()

append(t2, inPlace, columnsToAppend): DataFrame

Appends two tables ('union' in SQL).

Parameters

ParameterTypeDefault valueDescription
t2DataFrameundefined
inPlacebooleanfalsewhether to create a new table, or modify 'this' one.
columnsToAppendnull | string[]null

Returns

DataFrame

Source

src/dataframe.ts:451


appendMerge()

appendMerge(t): void

Parameters

ParameterType
tDataFrame

Returns

void

Source

src/dataframe.ts:455


cell()

cell(idx, name): Cell

Returns a Cell with the specified row and column.

Parameters

ParameterTypeDescription
idxnumberRow index.
namestringColumn name.

Returns

Cell

Source

src/dataframe.ts:290


changeColumnType()

changeColumnType(column, newType, format): Column<any, any>

Converts a column with the specified name to [newType], removes the original column from its dataframe and adds the new column to it.

Parameters

ParameterTypeDefault valueDescription
columnstring | Column<any, any>undefined
newType"string" | "bigint" | "object" | "int" | "double" | "bool" | "byte_array" | "datetime" | "qnum" | "dataframe"undefined
formatnull | stringnull

Returns

Column<any, any>

Source

src/dataframe.ts:390


clone()

clone(rowMask, columnIds, saveSelection): DataFrame

Creates a new dataframe from the specified row mask and a list of columns.

Parameters

ParameterTypeDefault valueDescription
rowMasknull | BitSetnullRows to include.
columnIdsnull | string[]nullColumns to include.
saveSelectionbooleanfalseWhether selection should be saved.

Returns

DataFrame

Source

src/dataframe.ts:343


col()

col(nameOrIndex): null | Column<any, any>

Returns a Column with the specified name.

Parameters

ParameterTypeDescription
nameOrIndexstring | numberColumn name.

Returns

null | Column<any, any>

Source

src/dataframe.ts:277


fireValuesChanged()

fireValuesChanged(): void

Returns

void

Source

src/dataframe.ts:539


get()

get(name, idx): any

Returns idx-th value of the specified columns.

Parameters

ParameterTypeDescription
namestringColumn name.
idxnumberRow index.

Returns

any

Source

src/dataframe.ts:262


getCol()

getCol(name): Column<any, any>

Same as col, but throws Error if column is not found

Parameters

ParameterTypeDescription
namestringColumn name.

Returns

Column<any, any>

Source

src/dataframe.ts:297


getDensity()

getDensity(xBins, yBins, xColName, yColName): Int32Array

Parameters

ParameterType
xBinsnumber
yBinsnumber
xColNamestring
yColNamestring

Returns

Int32Array

Source

src/dataframe.ts:558


getSortedOrder()

getSortedOrder(sortByColumnIds, sortOrders, rowMask): Int32Array

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

ParameterTypeDefault valueDescription
sortByColumnIdsColumnId[]undefinedCollection of [Column]s to use as keys for sorting.
sortOrdersnull | boolean[]nullList of sort orders for [sortByCols]. True == ascending.
rowMasknull | BitSetnullMask of the rows to sort. Result array will contain [rowIndexes.length] elements.

Returns

Int32Array

Source

src/dataframe.ts:403


getTableInfo()

getTableInfo(): TableInfo

Returns

TableInfo

Source

src/dataframe.ts:562


getTag()

getTag(tag): null | string

Returns the value of the specified tag, or null if it does not exist.

Parameters

ParameterType
tagstring

Returns

null | string

Source

src/dataframe.ts:238


groupBy()

groupBy(columnNames): GroupByBuilder

Begins building a query, using the specified columns as keys.

Parameters

ParameterTypeDefault valueDescription
columnNamesstring[][]Names of the columns to be used as keys.

Returns

GroupByBuilder

Source

src/dataframe.ts:411


join()

join(t2, keyColumns1, keyColumns2, valueColumns1, valueColumns2, joinType, inPlace): DataFrame

Merges two tables by the specified key columns.

Parameters

ParameterTypeDefault valueDescription
t2DataFrameundefineda table to join
keyColumns1string[]undefinedkey column names from the first table
keyColumns2string[]undefinedkey column names from the second table
valueColumns1null | string[]nullcolumn 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.
valueColumns2null | string[]nullcolumn names to copy from the second table
joinType"left" | "right" | "inner" | "outer"JOIN_TYPE.INNERinner, outer, left, or right. See [DG.JOIN_TYPE]
inPlacebooleanfalsemerges content in-place into the source table

Returns

DataFrame

Sample: https://public.datagrok.ai/js/samples/data-frame/join-link/join-tables

Source

src/dataframe.ts:440


onEvent()

onEvent(event): Observable<any>

Parameters

ParameterType
eventstring

Returns

Observable<any>

Source

src/dataframe.ts:463


row()

row(rowIndex): Row

Returns i-th row. NOTE: Do not use in performance-critical paths, consider accessing values via the Column instance.

Parameters

ParameterType
rowIndexnumber

Returns

Row

Source

src/dataframe.ts:255


set()

set(name, idx, value): void

Sets idx-th value of the specified columns.

Parameters

ParameterTypeDescription
namestringColumn name.
idxnumberRow index.
valueanyValue.

Returns

void

Source

src/dataframe.ts:270


setTag()

setTag(tag, value): DataFrame

Sets a tag to the specified value.

Parameters

ParameterTypeDescription
tagstringKey.
valuestringValue.

Returns

DataFrame

Source

src/dataframe.ts:245


toByteArray()

toByteArray(): Uint8Array

Exports dataframe to binary

Returns

Uint8Array

Source

src/dataframe.ts:335


toCsv()

toCsv(options?, grid?): string

Exports the content to comma-separated-values format.

Parameters

ParameterTypeDescription
options?CsvExportOptions
grid?Gridif specified, takes visible columns, column and row order from the grid.

Returns

string

Source

src/dataframe.ts:308


toCsvEx()

toCsvEx(options?, grid?): Promise<string>

Exports the content to comma-separated-values format asynchronously with converting the molblock columns to smiles if specified.

Parameters

ParameterTypeDescription
options?CsvExportOptions
grid?Gridif specified, takes visible columns, column and row order from the grid.

Returns

Promise<string>

Source

src/dataframe.ts:316


toJson()

toJson(): any[]

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[]

Source

src/dataframe.ts:323


toString()

toString(): string

Returns

string

Source

src/dataframe.ts:544


unpivot()

unpivot(copyColumnNames, mergeColumnNames, categoryColumnName, valueColumnName): DataFrame

Unpivots the table (converts from 'wide' representation with many columns to 'tall and skinny').

Parameters

ParameterTypeDefault valueDescription
copyColumnNamesstring[]undefinedcolumns to copy
mergeColumnNamesstring[]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.

categoryColumnNamestring'Category'
valueColumnNamestring'Value'

Returns

DataFrame

Source

src/dataframe.ts:423


create()

static create(rowCount, name?): DataFrame

Creates a DataFrame with the specified number of rows and no columns.

Parameters

ParameterTypeDefault value
rowCountnumber0
name?stringundefined

Returns

DataFrame

Source

src/dataframe.ts:131


fromByteArray()

static fromByteArray(byteArray): DataFrame

Parameters

ParameterType
byteArrayUint8Array

Returns

DataFrame

Source

src/dataframe.ts:138


fromColumns()

static fromColumns(columns): DataFrame

Creates a DataFrame from the specified columns. All columns should be of the same length.

Parameters

ParameterType
columnsColumn<any, any>[]

Returns

DataFrame

Source

src/dataframe.ts:143


fromCsv()

static fromCsv(csv, options?): DataFrame

Constructs DataFrame from a comma-separated values string

Parameters

ParameterTypeDescription
csvstringThe content of the comma-separated values file.
options?CsvImportOptions

Returns

DataFrame

https://dev.datagrok.ai/script/samples/javascript/data-frame/construction/create-from-csv

Source

src/dataframe.ts:189


fromJson()

static fromJson(json): DataFrame

Constructs DataFrame from the specified JSON string.

Parameters

ParameterTypeDescription
jsonstringJSON document.

Returns

DataFrame

https://dev.datagrok.ai/script/samples/javascript/data-frame/construction/create-from-json

Source

src/dataframe.ts:198


fromObjects()

static fromObjects(list): undefined | DataFrame

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

ParameterTypeDescription
listobject[]List of objects.

Returns

undefined | DataFrame

https://dev.datagrok.ai/script/samples/javascript/data-frame/construction/create-from-objects

Source

src/dataframe.ts:166


fromProperties()

static fromProperties(properties, rows): DataFrame

Creates a DataFrame from the specified properties with the specified row count.

Parameters

ParameterTypeDefault value
propertiesProperty[]undefined
rowsnumber0

Returns

DataFrame

Source

src/dataframe.ts:148