Skip to main content

Class: DataFrame

dg.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

constructor

new DataFrame(dart)

Parameters

NameType
dartany

Defined in

src/dataframe.ts:113

Properties

_dialogs

Private _dialogs: undefined | DataFrameDialogHelper

Defined in

src/dataframe.ts:111


_meta

_meta: undefined | DataFrameMetaHelper

Defined in

src/dataframe.ts:109


_plot

Private _plot: undefined | DataFramePlotHelper

Defined in

src/dataframe.ts:110


columns

columns: ColumnList

Defined in

src/dataframe.ts:104


dart

Readonly dart: any

Defined in

src/dataframe.ts:103


filter

filter: BitSet

Defined in

src/dataframe.ts:106


rows

rows: RowList

Defined in

src/dataframe.ts:105


tags

tags: any

Defined in

src/dataframe.ts:108


temp

temp: any

Defined in

src/dataframe.ts:107

Accessors

currentCell

get currentCell(): Cell

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

Returns

Cell

Defined in

src/dataframe.ts:343

set currentCell(cell): void

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

Parameters

NameType
cellCell

Returns

void

Defined in

src/dataframe.ts:349


currentCol

get currentCol(): Column<any>

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

Returns

Column<any>

Defined in

src/dataframe.ts:331

set currentCol(col): void

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

Parameters

NameType
colColumn<any>

Returns

void

Defined in

src/dataframe.ts:337


currentRow

get currentRow(): Row

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

Returns

Row

Defined in

src/dataframe.ts:318

set currentRow(row): void

Parameters

NameType
rowRow

Returns

void

Defined in

src/dataframe.ts:319


currentRowIdx

get currentRowIdx(): number

Index of the current row.

Returns

number

Defined in

src/dataframe.ts:322

set currentRowIdx(idx): void

Parameters

NameType
idxnumber

Returns

void

Defined in

src/dataframe.ts:323


dialogs

get dialogs(): DataFrameDialogHelper

Returns

DataFrameDialogHelper

Defined in

src/dataframe.ts:205


id

get id(): string

Id of the dataframe.

Returns

string

Defined in

src/dataframe.ts:515

set id(id): void

Parameters

NameType
idstring

Returns

void

Defined in

src/dataframe.ts:519


meta

get meta(): DataFrameMetaHelper

A helper to conveniently access certain metadata properties stored in tags

Returns

DataFrameMetaHelper

Defined in

src/dataframe.ts:192


mouseOverRowIdx

get mouseOverRowIdx(): number

Index of the mouse-over row.

Returns

number

Defined in

src/dataframe.ts:326

set mouseOverRowIdx(idx): void

Parameters

NameType
idxnumber

Returns

void

Defined in

src/dataframe.ts:327


name

get name(): string

Name of the dataframe.

Returns

string

Defined in

src/dataframe.ts:222

set name(s): void

Parameters

NameType
sstring

Returns

void

Defined in

src/dataframe.ts:223


onColumnNameChanged

get onColumnNameChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:460


onColumnSelectionChanged

get onColumnSelectionChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:463


onColumnsAdded

get onColumnsAdded(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:469


onColumnsChanged

get onColumnsChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:466


onColumnsRemoved

get onColumnsRemoved(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:472


onCurrentCellChanged

get onCurrentCellChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:448


onCurrentColChanged

get onCurrentColChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:442


onCurrentRowChanged

get onCurrentRowChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:436


onDataChanged

get onDataChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:493


onFilterChanged

get onFilterChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:502


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

Defined in

src/dataframe.ts:457


onMouseOverColChanged

get onMouseOverColChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:445


onMouseOverRowChanged

get onMouseOverRowChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:439


onMouseOverRowGroupChanged

get onMouseOverRowGroupChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:451


onNameChanged

get onNameChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:454


onRowsAdded

get onRowsAdded(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:475


onRowsFiltered

get onRowsFiltered(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:481


onRowsFiltering

get onRowsFiltering(): Observable<any>

Returns

Observable<any>

Defined in

src/dataframe.ts:484


onRowsRemoved

get onRowsRemoved(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:478


onSelectionChanged

get onSelectionChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:499


onSemanticTypeDetected

get onSemanticTypeDetected(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:490


onSemanticTypeDetecting

get onSemanticTypeDetecting(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:487


onValuesChanged

get onValuesChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:433


plot

get plot(): DataFramePlotHelper

A helper for creating plots for this dataframe

Returns

DataFramePlotHelper

Defined in

src/dataframe.ts:199


rowCount

get rowCount(): number

Returns number of rows in the table.

Returns

number

Defined in

src/dataframe.ts:212


selection

get selection(): BitSet

Returns a BitSet with selected rows.

Returns

BitSet

Defined in

src/dataframe.ts:217

Methods

_event

_event(event): Observable<any>

Parameters

NameType
eventstring

Returns

Observable<any>

Defined in

src/dataframe.ts:424


append

append(t2, inPlace?, columnsToAppend?): DataFrame

Appends two tables ('union' in SQL).

Parameters

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

Returns

DataFrame

Defined in

src/dataframe.ts:420


cell

cell(idx, name): Cell

Returns a Cell with the specified row and column.

Parameters

NameTypeDescription
idxnumberRow index.
namestringColumn name.

Returns

Cell

Defined in

src/dataframe.ts:274


changeColumnType

changeColumnType(column, newType, format?): Column<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

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

Returns

Column<any>

Defined in

src/dataframe.ts:359


clone

clone(rowMask?, columnIds?, saveSelection?): DataFrame

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

Parameters

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

Returns

DataFrame

Defined in

src/dataframe.ts:312


col

col(name): null | Column<any>

Returns a Column with the specified name.

Parameters

NameTypeDescription
namestringColumn name.

Returns

null | Column<any>

Defined in

src/dataframe.ts:266


fireValuesChanged

fireValuesChanged(): void

Returns

void

Defined in

src/dataframe.ts:504


get

get(name, idx): any

Returns idx-th value of the specified columns.

Parameters

NameTypeDescription
namestringColumn name.
idxnumberRow index.

Returns

any

Defined in

src/dataframe.ts:251


getCol

getCol(name): Column<any>

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

Parameters

NameTypeDescription
namestringColumn name.

Returns

Column<any>

Defined in

src/dataframe.ts:281


getDensity

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

Parameters

NameType
xBinsnumber
yBinsnumber
xColNamestring
yColNamestring

Returns

Int32Array

Defined in

src/dataframe.ts:523


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

NameTypeDefault 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

Defined in

src/dataframe.ts:372


getTableInfo

getTableInfo(): TableInfo

Returns

TableInfo

Defined in

src/dataframe.ts:527


getTag

getTag(tag): null | string

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

Parameters

NameType
tagstring

Returns

null | string

Defined in

src/dataframe.ts:227


groupBy

groupBy(columnNames?): GroupByBuilder

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

Parameters

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

Returns

GroupByBuilder

Defined in

src/dataframe.ts:380


join

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

Merges two tables by the specified key columns.

Parameters

NameTypeDefault 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

Defined in

src/dataframe.ts:409


onEvent

onEvent(event): Observable<any>

Parameters

NameType
eventstring

Returns

Observable<any>

Defined in

src/dataframe.ts:428


row

row(rowIndex): Row

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

Parameters

NameType
rowIndexnumber

Returns

Row

Defined in

src/dataframe.ts:244


set

set(name, idx, value): void

Sets idx-th value of the specified columns.

Parameters

NameTypeDescription
namestringColumn name.
idxnumberRow index.
valueanyValue.

Returns

void

Defined in

src/dataframe.ts:259


setTag

setTag(tag, value): DataFrame

Sets a tag to the specified value.

Parameters

NameTypeDescription
tagstringKey.
valuestringValue.

Returns

DataFrame

Defined in

src/dataframe.ts:234


toByteArray

toByteArray(): Uint8Array

Exports dataframe to binary

Returns

Uint8Array

Defined in

src/dataframe.ts:304


toCsv

toCsv(options?): string

Exports the content to comma-separated-values format.

Parameters

NameType
options?CsvExportOptions

Returns

string

Defined in

src/dataframe.ts:289


toJson

toJson(): any[]

Exports the content to JSON format

Returns

any[]

Defined in

src/dataframe.ts:294


toString

toString(): string

Returns

string

Defined in

src/dataframe.ts:509


unpivot

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

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

Parameters

NameTypeDefault 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

Defined in

src/dataframe.ts:392


create

Static create(rowCount?): DataFrame

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

Parameters

NameTypeDefault value
rowCountnumber0

Returns

DataFrame

Defined in

src/dataframe.ts:123


fromByteArray

Static fromByteArray(byteArray): DataFrame

Parameters

NameType
byteArrayUint8Array

Returns

DataFrame

Defined in

src/dataframe.ts:127


fromColumns

Static fromColumns(columns): DataFrame

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

Parameters

NameType
columnsColumn<any>[]

Returns

DataFrame

Defined in

src/dataframe.ts:132


fromCsv

Static fromCsv(csv, options?): DataFrame

Constructs DataFrame from a comma-separated values string

Parameters

NameTypeDescription
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

Defined in

src/dataframe.ts:178


fromJson

Static fromJson(json): DataFrame

Constructs DataFrame from the specified JSON string.

Parameters

NameTypeDescription
jsonstringJSON document.

Returns

DataFrame

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

Defined in

src/dataframe.ts:187


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

NameTypeDescription
listobject[]List of objects.

Returns

undefined | DataFrame

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

Defined in

src/dataframe.ts:155


fromProperties

Static fromProperties(properties, rows?): DataFrame

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

Parameters

NameTypeDefault value
propertiesProperty[]undefined
rowsnumber0

Returns

DataFrame

Defined in

src/dataframe.ts:137