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

Properties

_dialogs

Private _dialogs: undefined | DataFrameDialogHelper

Defined in

src/dataframe.ts:107


_meta

_meta: undefined | DataFrameMetaHelper

Defined in

src/dataframe.ts:105


_plot

Private _plot: undefined | DataFramePlotHelper

Defined in

src/dataframe.ts:106


columns

columns: ColumnList

Defined in

src/dataframe.ts:100


dart

Readonly dart: any

Defined in

src/dataframe.ts:99


filter

filter: BitSet

Defined in

src/dataframe.ts:102


rows

rows: RowList

Defined in

src/dataframe.ts:101


tags

tags: any

Defined in

src/dataframe.ts:104


temp

temp: any

Defined in

src/dataframe.ts:103

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

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


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

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


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

set currentRow(idx): void

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

Parameters

NameType
idxRow

Returns

void

Defined in

src/dataframe.ts:310


currentRowIdx

get currentRowIdx(): number

Index of the current row.

Returns

number

Defined in

src/dataframe.ts:315

set currentRowIdx(idx): void

Parameters

NameType
idxnumber

Returns

void

Defined in

src/dataframe.ts:316


dialogs

get dialogs(): DataFrameDialogHelper

Returns

DataFrameDialogHelper

Defined in

src/dataframe.ts:201


id

get id(): string

Id of the dataframe.

Returns

string

Defined in

src/dataframe.ts:506

set id(id): void

Parameters

NameType
idstring

Returns

void

Defined in

src/dataframe.ts:510


meta

get meta(): DataFrameMetaHelper

A helper to conveniently access certain metadata properties stored in tags

Returns

DataFrameMetaHelper

Defined in

src/dataframe.ts:188


mouseOverRowIdx

get mouseOverRowIdx(): number

Index of the mouse-over row.

Returns

number

Defined in

src/dataframe.ts:319

set mouseOverRowIdx(idx): void

Parameters

NameType
idxnumber

Returns

void

Defined in

src/dataframe.ts:320


name

get name(): string

Name of the dataframe.

Returns

string

Defined in

src/dataframe.ts:218

set name(s): void

Parameters

NameType
sstring

Returns

void

Defined in

src/dataframe.ts:219


onColumnNameChanged

get onColumnNameChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:451


onColumnSelectionChanged

get onColumnSelectionChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:454


onColumnsAdded

get onColumnsAdded(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:460


onColumnsChanged

get onColumnsChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:457


onColumnsRemoved

get onColumnsRemoved(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:463


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


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


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


onDataChanged

get onDataChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:484


onFilterChanged

get onFilterChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:493


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


onMouseOverColChanged

get onMouseOverColChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:436


onMouseOverRowChanged

get onMouseOverRowChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:430


onMouseOverRowGroupChanged

get onMouseOverRowGroupChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:442


onNameChanged

get onNameChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:445


onRowsAdded

get onRowsAdded(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:466


onRowsFiltered

get onRowsFiltered(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:472


onRowsFiltering

get onRowsFiltering(): Observable<any>

Returns

Observable<any>

Defined in

src/dataframe.ts:475


onRowsRemoved

get onRowsRemoved(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:469


onSelectionChanged

get onSelectionChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:490


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


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


onValuesChanged

get onValuesChanged(): Observable<any>

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

Returns

Observable<any>

Defined in

src/dataframe.ts:424


plot

get plot(): DataFramePlotHelper

A helper for creating plots for this dataframe

Returns

DataFramePlotHelper

Defined in

src/dataframe.ts:195


rowCount

get rowCount(): number

Returns number of rows in the table.

Returns

number

Defined in

src/dataframe.ts:208


selection

get selection(): BitSet

Returns a BitSet with selected rows.

Returns

BitSet

Defined in

src/dataframe.ts:213

Methods

_event

_event(event): Observable<any>

Parameters

NameType
eventstring

Returns

Observable<any>

Defined in

src/dataframe.ts:415


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


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


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


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


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


fireValuesChanged

fireValuesChanged(): void

Returns

void

Defined in

src/dataframe.ts:495


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


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


getDensity

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

Parameters

NameType
xBinsnumber
yBinsnumber
xColNamestring
yColNamestring

Returns

Int32Array

Defined in

src/dataframe.ts:514


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


getTableInfo

getTableInfo(): TableInfo

Returns

TableInfo

Defined in

src/dataframe.ts:518


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


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


join

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

Merges two tables by the specified key columns.

Parameters

NameTypeDescription
t2DataFrame
keyColumns1string[]
keyColumns2string[]
valueColumns1string[]
valueColumns2string[]
joinType"left" | "right" | "inner" | "outer"
inPlacebooleanmerges content in-place into the source table

Returns

DataFrame

Defined in

src/dataframe.ts:400


onEvent

onEvent(event): Observable<any>

Parameters

NameType
eventstring

Returns

Observable<any>

Defined in

src/dataframe.ts:419


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


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


setTag

setTag(tag, value): DataFrame

Sets a tag to the specified value.

Parameters

NameTypeDescription
tagstringKey.
valuestringValue.

Returns

DataFrame

Defined in

src/dataframe.ts:230


toByteArray

toByteArray(): Uint8Array

Exports dataframe to binary

Returns

Uint8Array

Defined in

src/dataframe.ts:290


toCsv

toCsv(options?): string

Exports the content to comma-separated-values format.

Parameters

NameType
options?CsvExportOptions

Returns

string

Defined in

src/dataframe.ts:285


toString

toString(): string

Returns

string

Defined in

src/dataframe.ts:500


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


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


fromByteArray

Static fromByteArray(byteArray): DataFrame

Parameters

NameType
byteArrayUint8Array

Returns

DataFrame

Defined in

src/dataframe.ts:123


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


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


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


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


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