Skip to main content

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

ParameterType
dartany

Returns

DataFrame

Properties

PropertyModifierTypeDefined in
_metapublicDataFrameMetaHelper | undefinedsrc/dataframe/data-frame.ts:54
columnspublicColumnListsrc/dataframe/data-frame.ts:49
dartreadonlyanysrc/dataframe/data-frame.ts:48
filterpublicBitSetsrc/dataframe/data-frame.ts:51
rowspublicRowListsrc/dataframe/data-frame.ts:50
tagspublicanysrc/dataframe/data-frame.ts:53
temppublicanysrc/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

Cell

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
ParameterType
cellCell
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

Column

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
ParameterType
colColumn
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

Row

Set Signature

set currentRow(row): void

Defined in: src/dataframe/data-frame.ts:297

Parameters
ParameterType
rowRow
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
ParameterType
idxnumber
Returns

void


dialogs

Get Signature

get dialogs(): DataFrameDialogHelper

Defined in: src/dataframe/data-frame.ts:149

Returns

DataFrameDialogHelper


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
ParameterType
idstring
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

DataFrameMetaHelper


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
ParameterType
idxnumber
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
ParameterType
sstring
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

DataFramePlotHelper


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

BitSet

Methods

_event()

_event(event): Observable<any>

Defined in: src/dataframe/data-frame.ts:415

Parameters

ParameterType
eventstring

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

ParameterTypeDefault valueDescription
t2DataFrameundefined-
inPlacebooleanfalsewhether to create a new table, or modify 'this' one.
columnsToAppendstring[] | nullnull-

Returns

DataFrame


appendMerge()

appendMerge(t): void

Defined in: src/dataframe/data-frame.ts:411

Parameters

ParameterType
tDataFrame

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

ParameterTypeDescription
idxnumberRow index.
namestringColumn name.

Returns

Cell


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

ParameterTypeDefault valueDescription
columns(string | Column<any, any>)[]undefined-
newType"string" | "bigint" | "object" | "int" | "double" | "bool" | "byte_array" | "datetime" | "qnum" | "dataframe"undefined-
formatstring | nullnullnumber format

Returns

Column<any, any>[]

See

COLUMN_TYPE


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

ParameterTypeDefault valueDescription
columnstring | Column<any, any>undefined-
newType"string" | "bigint" | "object" | "int" | "double" | "bool" | "byte_array" | "datetime" | "qnum" | "dataframe"undefined-
formatstring | nullnullnumber format

Returns

Column

Deprecated

Use changeColumnsType instead.

See

COLUMN_TYPE


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

ParameterTypeDefault valueDescription
rowMaskBitSet | nullnullRows to include.
columnIdsstring[] | nullnullColumns to include.
saveSelectionbooleanfalseWhether selection should be saved.
saveTagsbooleantrueWhether 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

ParameterTypeDescription
nameOrIndexstring | numberColumn 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

ParameterTypeDescription
namestringColumn name.
idxnumberRow 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

ParameterTypeDescription
namestringColumn name.

Returns

Column


getDensity()

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

Defined in: src/dataframe/data-frame.ts:514

Parameters

ParameterType
xBinsnumber
yBinsnumber
xColNamestring
yColNamestring

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

ParameterTypeDefault valueDescription
sortByColumnIdsColumnId[]undefinedCollection of [Column]s to use as keys for sorting.
sortOrdersboolean[] | nullnullList of sort orders for [sortByCols]. True == ascending.
rowMaskBitSet | nullnullMask 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

TableInfo


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

ParameterType
tagstring

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

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

Returns

GroupByBuilder


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

ParameterTypeDefault valueDescription
t2DataFrameundefineda table to join
keyColumns1string[]undefinedkey column names from the first table
keyColumns2string[]undefinedkey column names from the second table
valueColumns1string[] | nullnullcolumn 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.
valueColumns2string[] | nullnullcolumn 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


onEvent()

onEvent(event): Observable<any>

Defined in: src/dataframe/data-frame.ts:419

Parameters

ParameterType
eventstring

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

ParameterType
rowIndexnumber

Returns

Row


set()

set(name, idx, value): void

Defined in: src/dataframe/data-frame.ts:203

Sets idx-th value of the specified columns.

Parameters

ParameterTypeDescription
namestringColumn name.
idxnumberRow index.
valueanyValue.

Returns

void


setTag()

setTag(tag, value): DataFrame

Defined in: src/dataframe/data-frame.ts:178

Sets a tag to the specified value.

Parameters

ParameterTypeDescription
tagstringKey.
valuestringValue.

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

ParameterTypeDescription
options?CsvExportOptionsoptions for the export
grid?Gridif 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

ParameterTypeDescription
options?CsvExportOptionsoptions for the export
grid?Gridif 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

ParameterTypeDefault valueDescription
compressbooleanfalseIf 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

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


create()

static create(rowCount?, name?): DataFrame

Defined in: src/dataframe/data-frame.ts:68

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

Parameters

ParameterTypeDefault value
rowCountnumber0
name?stringundefined

Returns

DataFrame


fromByteArray()

static fromByteArray(byteArray): DataFrame

Defined in: src/dataframe/data-frame.ts:75

Parameters

ParameterType
byteArrayUint8Array

Returns

DataFrame


fromColumns()

static fromColumns(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

ParameterType
columnsColumn<any, any>[]

Returns

DataFrame


fromCsv()

static fromCsv(csv, options?): DataFrame

Defined in: src/dataframe/data-frame.ts:123

Constructs DataFrame from a comma-separated values string

Parameters

ParameterTypeDescription
csvstringThe 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()

static fromJson(json): DataFrame

Defined in: src/dataframe/data-frame.ts:131

Constructs DataFrame from the specified JSON string.

Parameters

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

Returns

DataFrame


fromObjects()

static fromObjects(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

ParameterTypeDescription
listobject[]List of objects. https://dev.datagrok.ai/script/samples/javascript/data-frame/construction/create-from-objects

Returns

DataFrame | undefined


fromProperties()

static fromProperties(properties, rows?): DataFrame

Defined in: src/dataframe/data-frame.ts:85

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

Parameters

ParameterTypeDefault value
propertiesProperty[]undefined
rowsnumber0

Returns

DataFrame