Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ListSeries<T>

A Series of lists of values.

Type parameters

Hierarchy

Index

Accessors

elements

  • Series containing the elements of each list

    example
    import {Series} from '@rapidsai/cudf';
    import * as arrow from 'apache-arrow';

    const vec = arrow.vectorFromArray(
    [[0, 1, 2], [3, 4, 5], [6, 7, 8]],
    new arrow.List(arrow.Field.new({ name: 'ints', type: new arrow.Int32 })),
    );
    const a = Series.new(vec);

    a.elements // Int32Series [0, 1, 2, 3, 4, 5, 6, 7, 8]

    Returns Series<T>

hasNulls

  • get hasNulls(): boolean

length

  • get length(): number

mask

  • get mask(): DeviceBuffer

nullCount

  • get nullCount(): number

nullable

  • get nullable(): boolean

numChildren

  • get numChildren(): number

offset

  • get offset(): number

offsets

  • Series of integer offsets for each list

    example
    import {Series} from '@rapidsai/cudf';
    import * as arrow from 'apache-arrow';

    const vec = arrow.vectorFromArray(
    [[0, 1, 2], [3, 4, 5], [6, 7, 8]],
    new arrow.List(arrow.Field.new({ name: 'ints', type: new arrow.Int32 })),
    );
    const a = Series.new(vec);

    a.offsets // Int32Series [0, 3, 6, 9]

    Returns Int32Series

type

  • get type(): T

Methods

[iterator]

  • [iterator](): IterableIterator<null | Vector<T>>
  • Copy the underlying device memory to host, and return an Iterator of the values.

    Returns IterableIterator<null | Vector<T>>

_castAsBool8

  • _castAsBool8(_memoryResource?: MemoryResource): Bool8Series

_castAsCategorical

  • _castAsCategorical<R>(type: R, memoryResource?: MemoryResource): Series<R>

_castAsFloat32

_castAsFloat64

_castAsInt16

  • _castAsInt16(_memoryResource?: MemoryResource): Int16Series

_castAsInt32

  • _castAsInt32(_memoryResource?: MemoryResource): Int32Series

_castAsInt64

  • _castAsInt64(_memoryResource?: MemoryResource): Int64Series

_castAsInt8

  • _castAsInt8(_memoryResource?: MemoryResource): Int8Series

_castAsTimeStampDay

  • _castAsTimeStampDay(_memoryResource?: MemoryResource): TimestampDaySeries
  • Parameters

    • Optional _memoryResource: MemoryResource

    Returns TimestampDaySeries

_castAsTimeStampMicrosecond

  • _castAsTimeStampMicrosecond(_memoryResource?: MemoryResource): TimestampMicrosecondSeries
  • Parameters

    • Optional _memoryResource: MemoryResource

    Returns TimestampMicrosecondSeries

_castAsTimeStampMillisecond

  • _castAsTimeStampMillisecond(_memoryResource?: MemoryResource): TimestampMillisecondSeries
  • Parameters

    • Optional _memoryResource: MemoryResource

    Returns TimestampMillisecondSeries

_castAsTimeStampNanosecond

  • _castAsTimeStampNanosecond(_memoryResource?: MemoryResource): TimestampNanosecondSeries
  • Parameters

    • Optional _memoryResource: MemoryResource

    Returns TimestampNanosecondSeries

_castAsTimeStampSecond

  • _castAsTimeStampSecond(_memoryResource?: MemoryResource): TimestampSecondSeries
  • Parameters

    • Optional _memoryResource: MemoryResource

    Returns TimestampSecondSeries

_castAsUint16

  • _castAsUint16(_memoryResource?: MemoryResource): Uint16Series

_castAsUint32

  • _castAsUint32(_memoryResource?: MemoryResource): Uint32Series

_castAsUint64

  • _castAsUint64(_memoryResource?: MemoryResource): Uint64Series

_castAsUint8

  • _castAsUint8(_memoryResource?: MemoryResource): Uint8Series

cast

  • cast<R>(dataType: R, memoryResource?: MemoryResource): Series<R>
  • Casts the values to a new dtype (similar to static_cast in C++).

    example
    import {Series, Bool8, Int32} from '@rapidsai/cudf';

    const a = Series.new({type:new Int32, data: [1,0,1,0]});

    a.cast(new Bool8); // Bool8Series [true, false, true, false];

    Type parameters

    Parameters

    • dataType: R

      The new dtype.

    • Optional memoryResource: MemoryResource

      The optional MemoryResource used to allocate the result Series's device memory.

    Returns Series<R>

    Series of same size as the current Series containing result of the cast operation.

concat

  • Concat a Series to the end of the caller, returning a new Series of a common dtype.

    example
    import {Series} from '@rapidsai/cudf';

    Series.new([1, 2, 3]).concat(Series.new([4, 5, 6])) // [1, 2, 3, 4, 5, 6]

    Type parameters

    Parameters

    • other: R

      The Series to concat to the end of the caller.

    • Optional memoryResource: MemoryResource

    Returns Series<CommonType<List<T>, R["type"]>>

copy

  • copy(memoryResource?: MemoryResource): ListSeries<T>
  • Return a copy of this Series.

    example
    import {Series} from '@rapidsai/cudf';

    const a = Series.new(["foo", "bar", "test"]);

    a.copy() // StringSeries ["foo", "bar", "test"]

    Parameters

    • Optional memoryResource: MemoryResource

    Returns ListSeries<T>

countNonNulls

  • countNonNulls(): number
  • Return the number of non-null elements in the Series.

    example
    import {Series} from '@rapidsai/cudf';

    Series.new([1, 2, 3]).countNonNulls(); // 3
    Series.new([1, null, 3]).countNonNulls(); // 2

    Returns number

    The number of non-null elements

dispose

  • dispose(): void
  • summary

    Explicitly free the device memory associated with this Series.

    Returns void

dropDuplicates

  • dropDuplicates(keep?: boolean, nullsEqual?: boolean, nullsFirst?: boolean, memoryResource?: MemoryResource): ListSeries<T>
  • Returns a new Series with duplicate values from the original removed

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([4, null, 1, 2, null, 3, 4]).dropDuplicates(
    true,
    true,
    true
    ) // [null, 1, 2, 3, 4]

    Series.new([4, null, 1, 2, null, 3, 4]).dropDuplicates(
    false,
    true,
    true
    ) // [1, 2, 3]

    Parameters

    • keep: boolean = true

      Determines whether or not to keep the duplicate items.

    • nullsEqual: boolean = true

      Determines whether nulls are handled as equal values.

    • nullsFirst: boolean = true

      Determines whether null values are inserted before or after non-null values.

    • Optional memoryResource: MemoryResource

      Memory resource used to allocate the result Column's device memory.

    Returns ListSeries<T>

    series without duplicate values

dropNulls

  • dropNulls(memoryResource?: MemoryResource): ListSeries<T>
  • drop Null values from the series

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([1, undefined, 3]).dropNulls() // [1, 3]
    Series.new([1, null, 3]).dropNulls() // [1, 3]
    Series.new([1, , 3]).dropNulls() // [1, 3]

    // StringSeries
    Series.new(["foo", "bar", undefined]).dropNulls() // ["foo", "bar"]
    Series.new(["foo", "bar", null]).dropNulls() // ["foo", "bar"]
    Series.new(["foo", "bar", ,]).dropNulls() // ["foo", "bar"]

    // Bool8Series
    Series.new([true, true, undefined]).dropNulls() // [true, true]
    Series.new([true, true, null]).dropNulls() // [true, true]
    Series.new([true, true, ,]).dropNulls() // [true, true]

    Parameters

    • Optional memoryResource: MemoryResource

      Memory resource used to allocate the result Column's device memory.

    Returns ListSeries<T>

    series without Null values

encodeLabels

  • encodeLabels<R>(categories?: ListSeries<T>, type?: R, nullSentinel?: R["scalarType"], memoryResource?: MemoryResource): Series<R>
  • Encode the Series values into integer labels.

    Type parameters

    Parameters

    • categories: ListSeries<T> = ...

      The optional Series of values to encode into integers. Defaults to the unique elements in this Series.

    • type: R = ...

      The optional integer DataType to use for the returned Series. Defaults to Uint32.

    • nullSentinel: R["scalarType"] = -1

      The optional value used to indicate missing category. Defaults to -1.

    • Optional memoryResource: MemoryResource

      The optional MemoryResource used to allocate the result Column's device memory.

    Returns Series<R>

    A sequence of encoded integer labels with values between 0 and n-1 categories, and nullSentinel for any null values

fill

  • fill(value: Column<T>, begin?: number, end?: number, memoryResource?: MemoryResource): ListSeries<T>
  • Fills a range of elements in a column out-of-place with a scalar value.

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([1, 2, 3]).fill(0) // [0, 0, 0]
    // StringSeries
    Series.new(["foo", "bar", "test"]).fill("rplc", 0, 1) // ["rplc", "bar", "test"]
    // Bool8Series
    Series.new([true, true, true]).fill(false, 1) // [true, false, false]

    Parameters

    • value: Column<T>

      The scalar value to fill.

    • begin: number = 0

      The starting index of the fill range (inclusive).

    • end: number = ...

      The index of the last element in the fill range (exclusive), default this.length .

    • Optional memoryResource: MemoryResource

      The optional MemoryResource used to allocate the result Column's device memory.

    Returns ListSeries<T>

fillInPlace

  • Fills a range of elements in-place in a column with a scalar value.

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([1, 2, 3]).fillInPlace(0) // [0, 0, 0]
    // StringSeries
    Series.new(["foo", "bar", "test"]).fillInPlace("rplc", 0, 1) // ["rplc", "bar", "test"]
    // Bool8Series
    Series.new([true, true, true]).fillInPlace(false, 1) // [true, false, false]

    Parameters

    • value: Column<T>

      The scalar value to fill

    • begin: number = 0

      The starting index of the fill range (inclusive)

    • end: number = ...

      The index of the last element in the fill range (exclusive)

    Returns ListSeries<T>

filter

  • Return a sub-selection of this Series using the specified boolean mask.

    example
    import {Series} from "@rapidsai/cudf";
    const mask = Series.new([true, false, true]);

    // Float64Series
    Series.new([1, 2, 3]).filter(mask) // [1, 3]
    // StringSeries
    Series.new(["foo", "bar", "test"]).filter(mask) // ["foo", "test"]
    // Bool8Series
    Series.new([false, true, true]).filter(mask) // [false, true]

    Parameters

    • mask: Bool8Series

      A Series of boolean values for whose corresponding element in this Series will be selected or ignored.

    • Optional memoryResource: MemoryResource

      An optional MemoryResource used to allocate the result's device memory.

    Returns ListSeries<T>

flatten

  • flatten(memoryResource?: MemoryResource): Series<T>

flattenIndices

  • flattenIndices(memoryResource?: MemoryResource): Int32Series

gather

  • gather(indices: number[] | Series<IndexType>, nullify_out_of_bounds?: boolean, memoryResource?: MemoryResource): ListSeries<T>
  • summary

    Return sub-selection from a Series using the specified integral indices.

    description

    Gathers the rows of the source columns according to selection, such that row "i" in the resulting Series's columns will contain row selection[i] from the source columns. The number of rows in the result series will be equal to the number of elements in selection. A negative value i in the selection is interpreted as i+n, where n is the number of rows in the source series.

    For dictionary columns, the keys column component is copied and not trimmed if the gather results in abandoned key elements.

    example
    import {Series, Int32} from '@rapidsai/cudf';

    const a = Series.new([1,2,3]);
    const b = Series.new(["foo", "bar", "test"]);
    const c = Series.new([true, false, true]);
    const selection = Series.new({type: new Int32, data: [0,2]});

    a.gather(selection) // Float64Series [1,3]
    b.gather(selection) // StringSeries ["foo", "test"]
    c.gather(selection) // Bool8Series [true, true]

    Parameters

    • indices: number[] | Series<IndexType>

      A Series of 8/16/32-bit signed or unsigned integer indices to gather.

    • nullify_out_of_bounds: boolean = false

      If true, coerce rows that corresponds to out-of-bounds indices in the selection to null. If false, skips all bounds checking for selection values. Pass false if you are certain that the selection contains only valid indices for better performance. If false and there are out-of-bounds indices in the selection, the behavior is undefined. Defaults to false.

    • Optional memoryResource: MemoryResource

      An optional MemoryResource used to allocate the result's device memory.

    Returns ListSeries<T>

getValue

  • getValue(index: number): any
  • Return a value at the specified index to host memory

    example
    import {Series} from "@rapidsai/cudf";

    // Series<List<Float64>>
    Series.new([[1, 2], [3]]).getValue(0) // Series([1, 2])

    // Series<List<Utf8String>>
    Series.new([["foo", "bar"], ["test"]]).getValue(1) // Series(["test"])

    // Series<List<Bool8>>
    Series.new([[false, true], [true]]).getValue(2) // throws index out of bounds error

    Parameters

    • index: number

      the index in this Series to return a value for

    Returns any

head

  • Returns the first n rows.

    example
    import {Series} from '@rapidsai/cudf';

    const a = Series.new([4, 6, 8, 10, 12, 1, 2]);
    const b = Series.new(["foo", "bar", "test"]);

    a.head(); // [4, 6, 8, 10, 12]
    b.head(1); // ["foo"]
    a.head(-1); // throws index out of bounds error

    Parameters

    • n: number = 5

      The number of rows to return.

    Returns ListSeries<T>

isNotNull

  • isNotNull(memoryResource?: MemoryResource): Bool8Series
  • Creates a Series of BOOL8 elements where true indicates the value is valid and false indicates the value is null.

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([1, null, 3]).isNotNull() // [true, false, true]
    // StringSeries
    Series.new(["foo", "bar", null]).isNotNull() // [true, true, false]
    // Bool8Series
    Series.new([true, true, null]).isNotNull() // [true, true, false]

    Parameters

    • Optional memoryResource: MemoryResource

      Memory resource used to allocate the result Column's device memory.

    Returns Bool8Series

    A non-nullable Series of BOOL8 elements with false representing null values.

isNull

  • Creates a Series of BOOL8 elements where true indicates the value is null and false indicates the value is valid.

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([1, null, 3]).isNull() // [false, true, false]
    // StringSeries
    Series.new(["foo", "bar", null]).isNull() // [false, false, true]
    // Bool8Series
    Series.new([true, true, null]).isNull() // [false, false, true]

    Parameters

    • Optional memoryResource: MemoryResource

      Memory resource used to allocate the result Column's device memory.

    Returns Bool8Series

    A non-nullable Series of BOOL8 elements with true representing null values.

nLargest

  • nLargest(n?: number, keep?: "any" | "first" | "last" | "none"): ListSeries<T>
  • Returns the n largest element(s).

    example
    import {Series} from '@rapidsai/cudf';

    const a = Series.new([4, 6, 8, 10, 12, 1, 2]);
    const b = Series.new(["foo", "bar", "test"]);

    a.nLargest(); // [12, 10, 8, 6, 4]
    b.nLargest(1); // ["test"]
    a.nLargest(-1); // []

    Parameters

    • n: number = 5

      The number of values to retrieve.

    • keep: "any" | "first" | "last" | "none" = 'first'

      Determines whether to keep the first or last of any duplicate values.

    Returns ListSeries<T>

nSmallest

  • nSmallest(n?: number, keep?: "any" | "first" | "last" | "none"): ListSeries<T>
  • Returns the n smallest element(s).

    example
    import {Series} from '@rapidsai/cudf';

    const a = Series.new([4, 6, 8, 10, 12, 1, 2]);
    const b = Series.new(["foo", "bar", "test"]);

    a.nSmallest(); // [1, 2, 4, 6, 8]
    b.nSmallest(1); // ["bar"]
    a.nSmallest(-1); // []

    Parameters

    • n: number = 5

      The number of values to retrieve.

    • keep: "any" | "first" | "last" | "none" = 'first'

      Determines whether to keep the first or last of any duplicate values.

    Returns ListSeries<T>

orderBy

  • orderBy(ascending?: boolean, null_order?: "after" | "before", memoryResource?: MemoryResource): Int32Series
  • Generate an ordering that sorts the Series in a specified way.

    example
    import {Series, NullOrder} from '@rapidsai/cudf';

    // Float64Series
    Series.new([50, 40, 30, 20, 10, 0]).orderBy(false) // [0, 1, 2, 3, 4, 5]
    Series.new([50, 40, 30, 20, 10, 0]).orderBy(true) // [5, 4, 3, 2, 1, 0]

    // StringSeries
    Series.new(["a", "b", "c", "d", "e"]).orderBy(false) // [4, 3, 2, 1, 0]
    Series.new(["a", "b", "c", "d", "e"]).orderBy(true) // [0, 1, 2, 3, 4]

    // Bool8Series
    Series.new([true, false, true, true, false]).orderBy(true) // [1, 4, 0, 2, 3]
    Series.new([true, false, true, true, false]).orderBy(false) // [0, 2, 3, 1, 4]

    // NullOrder usage
    Series.new([50, 40, 30, 20, 10, null]).orderBy(false, 'before') // [0, 1, 2, 3, 4, 5]
    Series.new([50, 40, 30, 20, 10, null]).orderBy(false, 'after') // [5, 0, 1, 2, 3, 4]

    Parameters

    • ascending: boolean = true

      whether to sort ascending (true) or descending (false)

    • null_order: "after" | "before" = 'after'

      whether nulls should sort before or after other values

    • Optional memoryResource: MemoryResource

      An optional MemoryResource used to allocate the result's device memory.

    Returns Int32Series

    Series containting the permutation indices for the desired sort order

replaceNulls

  • replaceNulls(value: any, memoryResource?: MemoryResource): ListSeries<T>
  • replaceNulls(value: ListSeries<T>, memoryResource?: MemoryResource): ListSeries<T>
  • Replace null values with a scalar value.

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([1, null, 3]).replaceNulls(-1) // [1, -1, 3]
    // StringSeries
    Series.new(["foo", "bar", null]).replaceNulls("rplc") // ["foo", "bar", "rplc"]
    // Bool8Series
    Series.new([null, true, true]).replaceNulls(false) // [true, true, true]

    Parameters

    • value: any

      The scalar value to use in place of nulls.

    • Optional memoryResource: MemoryResource

      The optional MemoryResource used to allocate the result Column's device memory.

    Returns ListSeries<T>

  • Replace null values with the corresponding elements from another Series.

    example
    import {Series} from '@rapidsai/cudf';
    const replace = Series.new([10, 10, 10]);
    const replaceBool = Series.new([false, false, false]);

    // Float64Series
    Series.new([1, null, 3]).replaceNulls(replace) // [1, 10, 3]
    // StringSeries
    Series.new(["foo", "bar", null]).replaceNulls(replace) // ["foo", "bar", "10"]
    // Bool8Series
    Series.new([null, true, true]).replaceNulls(replaceBool) // [false, true, true]

    Parameters

    • value: ListSeries<T>

      The Series to use in place of nulls.

    • Optional memoryResource: MemoryResource

      The optional MemoryResource used to allocate the result Column's device memory.

    Returns ListSeries<T>

replaceNullsFollowing

  • replaceNullsFollowing(memoryResource?: MemoryResource): ListSeries<T>
  • Replace null values with the non-null value following the null value in the same series.

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([1, null, 3]).replaceNullsFollowing() // [1, 3, 3]
    // StringSeries
    Series.new(["foo", "bar", null]).replaceNullsFollowing() // ["foo", "bar", null]
    Series.new(["foo", null, "bar"]).replaceNullsFollowing() // ["foo", "bar", "bar"]
    // Bool8Series
    Series.new([null, true, true]).replaceNullsFollowing() // [true, true, true]

    Parameters

    • Optional memoryResource: MemoryResource

      The optional MemoryResource used to allocate the result Column's device memory.

    Returns ListSeries<T>

replaceNullsPreceding

  • replaceNullsPreceding(memoryResource?: MemoryResource): ListSeries<T>
  • Replace null values with the non-null value preceding the null value in the same series.

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([1, null, 3]).replaceNullsPreceding() // [1, 1, 3]
    // StringSeries
    Series.new([null, "foo", "bar"]).replaceNullsPreceding() // [null, "foo", "bar"]
    Series.new(["foo", null, "bar"]).replaceNullsPreceding() // ["foo", "foo", "bar"]
    // Bool8Series
    Series.new([true, null, false]).replaceNullsPreceding() // [true, true, false]

    Parameters

    • Optional memoryResource: MemoryResource

      The optional MemoryResource used to allocate the result Column's device memory.

    Returns ListSeries<T>

reverse

  • reverse(memoryResource?: MemoryResource): ListSeries<T>
  • Returns a new series with reversed elements.

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([1, 2, 3]).reverse() // [3, 2, 1]
    // StringSeries
    Series.new(["foo", "bar"]).reverse() // ["bar", "foo"]
    // Bool8Series
    Series.new([false, true]).reverse() // [true, false]

    Parameters

    • Optional memoryResource: MemoryResource

      An optional MemoryResource used to allocate the result's device memory.

    Returns ListSeries<T>

scatter

  • Scatters single value into this Series according to provided indices.

    example
    import {Series, Int32} from '@rapidsai/cudf';
    const a = Series.new({type: new Int32, data: [0, 1, 2, 3, 4]});
    const indices = Series.new({type: new Int32, data: [2, 4]});
    const indices_out_of_bounds = Series.new({type: new Int32, data: [5, 6]});

    a.scatter(-1, indices); // returns [0, 1, -1, 3, -1];
    a.scatter(-1, indices_out_of_bounds, true) // throws index out of bounds error

    Parameters

    • value: Column<T>

      A column of values to be scattered in to this Series

    • indices: number[] | Series<IndexType>

      A column of integral indices that indicate the rows in the this Series to be replaced by value.

    • Optional memoryResource: MemoryResource

      An optional MemoryResource used to allocate the result's device memory.

    Returns ListSeries<T>

  • Scatters a column of values into this Series according to provided indices.

    example
    import {Series, Int32} from '@rapidsai/cudf';
    const a = Series.new({type: new Int32, data: [0, 1, 2, 3, 4]});
    const b = Series.new({type: new Int32, data: [200, 400]});
    const indices = Series.new({type: new Int32, data: [2, 4]});
    const indices_out_of_bounds = Series.new({type: new Int32, data: [5, 6]});

    a.scatter(b, indices); // returns [0, 1, 200, 3, 400];
    a.scatter(b, indices_out_of_bounds, true) // throws index out of bounds error

    Parameters

    • values: ListSeries<T>
    • indices: number[] | Series<IndexType>

      A column of integral indices that indicate the rows in the this Series to be replaced by value.

    • Optional memoryResource: MemoryResource

      An optional MemoryResource used to allocate the result's device memory.

    Returns ListSeries<T>

setNullMask

  • setNullMask(mask: MemoryData | ArrayLike<number> | ArrayLike<bigint>, nullCount?: number): void
  • Parameters

    • mask: MemoryData | ArrayLike<number> | ArrayLike<bigint>

      The null-mask. Valid values are marked as 1; otherwise 0. The mask bit given the data index idx is computed as:

      (mask[idx // 8] >> (idx % 8)) & 1
      
    • Optional nullCount: number

      The number of null values. If None, it is calculated automatically.

    Returns void

setValues

  • set values at the specified indices

    example
    import {Series, Int32} from '@rapidsai/cudf';
    const a = Series.new({type: new Int32, data: [0, 1, 2, 3, 4]});
    const values = Series.new({type: new Int32, data: [200, 400]});
    const indices = Series.new({type: new Int32, data: [2, 4]});

    a.setValues(indices, values); // inplace update [0, 1, 200, 3, 400];
    a.setValues(indices, -1); // inplace update [0, 1, -1, 3, -1];

    Parameters

    • indices: number[] | Int32Series

      the indices in this Series to set values for

    • values: ListSeries<T> | Column<T>

      the values to set at Series of indices

    Returns void

sortValues

  • sortValues(ascending?: boolean, null_order?: "after" | "before", memoryResource?: MemoryResource): ListSeries<T>
  • Generate a new Series that is sorted in a specified way.

    example
    import {Series, NullOrder} from '@rapidsai/cudf';

    // Float64Series
    Series.new([50, 40, 30, 20, 10, 0]).sortValues(false) // [50, 40, 30, 20, 10, 0]
    Series.new([50, 40, 30, 20, 10, 0]).sortValues(true) // [0, 10, 20, 30, 40, 50]

    // StringSeries
    Series.new(["a", "b", "c", "d", "e"]).sortValues(false) // ["e", "d", "c", "b", "a"]
    Series.new(["a", "b", "c", "d", "e"]).sortValues(true) // ["a", "b", "c", "d", "e"]

    // Bool8Series
    Series.new([true, false, true, true, false]).sortValues(true) // [false, false, true,
    true, true] Series.new([true, false, true, true, false]).sortValues(false) // [true,
    true, true, false, false]

    // NullOrder usage
    Series.new([50, 40, 30, 20, 10, null]).sortValues(false, 'before') // [50, 40, 30, 20,
    10, null]

    Series.new([50, 40, 30, 20, 10, null]).sortValues(false, 'after') // [null, 50, 40, 30,
    20, 10]

    Parameters

    • ascending: boolean = true

      whether to sort ascending (true) or descending (false) Default: true

    • null_order: "after" | "before" = 'after'

      whether nulls should sort before or after other values Default: before

    • Optional memoryResource: MemoryResource

      An optional MemoryResource used to allocate the result's device memory.

    Returns ListSeries<T>

    Sorted values

tail

  • Returns the last n rows.

    example
    import {Series} from '@rapidsai/cudf';

    const a = Series.new([4, 6, 8, 10, 12, 1, 2]);
    const b = Series.new(["foo", "bar", "test"]);

    a.tail(); // [8, 10, 12, 1, 2]
    b.tail(1); // ["test"]
    a.tail(-1); // throws index out of bounds error

    Parameters

    • n: number = 5

      The number of rows to return.

    Returns ListSeries<T>

toArray

  • toArray(): T[]
  • Copy the underlying device memory to host and return an Array (or TypedArray) of the values.

    Returns T[]

toArrow

  • toArrow(): Vector<List<T>>

toString

  • toString(options?: DisplayOptions & { name?: string }): string
  • Return a string with a tabular representation of the Series, pretty-printed according to the options given.

    Parameters

    • options: DisplayOptions & { name?: string } = {}

    Returns string

unique

  • unique(nullsEqual?: boolean, memoryResource?: MemoryResource): ListSeries<T>
  • Returns a new Series with only the unique values that were found in the original

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series
    Series.new([null, null, 1, 2, 3, 3]).unique(true) // [null, 1, 2, 3]
    Series.new([null, null, 1, 2, 3, 3]).unique(false) // [null, null, 1, 2, 3]

    Parameters

    • nullsEqual: boolean = true

      Determines whether nulls are handled as equal values.

    • Optional memoryResource: MemoryResource

      Memory resource used to allocate the result Column's device memory.

    Returns ListSeries<T>

    series without duplicate values

valueCounts

  • Returns an object with keys "value" and "count" whose respective values are new Series containing the unique values in the original series and the number of times they occur in the original series.

    Returns { count: Int32Series; value: ListSeries<T> }

    object with keys "value" and "count"

Static new

  • Create a new cudf.Series from an apache arrow vector

    example
    import {Series, Int32} from '@rapidsai/cudf';
    import * as arrow from 'apache-arrow';

    const arrow_vec = arrow.vectorFromArray(new Int32Array([1,2,3,4])));
    const a = Series.new(arrow_vec); // Int32Series [1, 2, 3, 4]

    const arrow_vec_list = arrow.vectorFromArray(
    [[0, 1, 2], [3, 4, 5], [6, 7, 8]],
    new arrow.List(arrow.Field.new({ name: 'ints', type: new arrow.Int32 })),
    );

    const b = Series.new(arrow_vec_list) // ListSeries [[0, 1, 2], [3, 4, 5], [6, 7, 8]]

    const arrow_vec_struct = arrow.vectorFromArray(
    [{ x: 0, y: 3 }, { x: 1, y: 4 }, { x: 2, y: 5 }],
    new arrow.Struct([
    arrow.Field.new({ name: 'x', type: new arrow.Int32 }),
    arrow.Field.new({ name: 'y', type: new arrow.Int32 })
    ]),
    );

    const c = Series.new(arrow_vec_struct);
    // StructSeries [{ x: 0, y: 3 }, { x: 1, y: 4 }, { x: 2, y: 5 }]

    Type parameters

    • T: Vector<any, T>

    Parameters

    • input: T

    Returns Series<ArrowToCUDFType<T["type"]>>

  • Create a new cudf.Series from SeriesProps or a cudf.Column

    example
    import {Series, Int32} from '@rapidsai/cudf';

    //using SeriesProps
    const a = Series.new({type: new Int32, data: [1, 2, 3, 4]}); // Int32Series [1, 2, 3, 4]

    //using underlying cudf.Column
    const b = Series.new(a._col); // Int32Series [1, 2, 3, 4]

    Type parameters

    Parameters

    • input: T

    Returns T

  • Type parameters

    Parameters

    Returns Series<T>

  • Type parameters

    Parameters

    Returns Series<T>

  • Create a new cudf.Int8Series

    example
    import {
    Series,
    Int8Series,
    Int8
    } from '@rapidsai/cudf';

    // Int8Series [1, 2, 3]
    const a = Series.new(new Int8Array([1, 2, 3]));
    const b = Series.new(new Int8Buffer([1, 2, 3]));

    Parameters

    Returns Int8Series

  • Create a new cudf.Int16Series

    example
    import {
    Series,
    Int16Series,
    Int16
    } from '@rapidsai/cudf';

    // Int16Series [1, 2, 3]
    const a = Series.new(new Int16Array([1, 2, 3]));
    const b = Series.new(new Int16Buffer([1, 2, 3]));

    Parameters

    Returns Int16Series

  • Create a new cudf.Int32Series

    example
    import {
    Series,
    Int32Series,
    Int32
    } from '@rapidsai/cudf';

    // Int32Series [1, 2, 3]
    const a = Series.new(new Int32Array([1, 2, 3]));
    const b = Series.new(new Int32Buffer([1, 2, 3]));

    Parameters

    Returns Int32Series

  • Create a new cudf.Uint8Series

    example
    import {
    Series,
    Uint8Series,
    Uint8
    } from '@rapidsai/cudf';

    // Uint8Series [1, 2, 3]
    const a = Series.new(new Uint8Array([1, 2, 3]));
    const b = Series.new(new Uint8Buffer([1, 2, 3]));
    const c = Series.new(new Uint8ClampedArray([1, 2, 3]));
    const d = Series.new(new Uint8ClampedBuffer([1, 2, 3]));

    Parameters

    Returns Uint8Series

  • Create a new cudf.Uint16Series

    example
    import {
    Series,
    Uint16Series,
    Uint16
    } from '@rapidsai/cudf';

    // Uint16Series [1, 2, 3]
    const a = Series.new(new Uint16Array([1, 2, 3]));
    const b = Series.new(new Uint16Buffer([1, 2, 3]));

    Parameters

    Returns Uint16Series

  • Create a new cudf.Uint32Series

    example
    import {
    Series,
    Uint32Series,
    Uint32
    } from '@rapidsai/cudf';

    // Uint32Series [1, 2, 3]
    const a = Series.new(new Uint32Array([1, 2, 3]));
    const b = Series.new(new Uint32Buffer([1, 2, 3]));

    Parameters

    Returns Uint32Series

  • Create a new cudf.Uint64Series

    example
    import {
    Series,
    Uint64Series,
    Uint64
    } from '@rapidsai/cudf';

    // Uint64Series [1n, 2n, 3n]
    const a = Series.new(new BigUint64Array([1n, 2n, 3n]));
    const b = Series.new(new Uint64Buffer([1n, 2n, 3n]));

    Parameters

    Returns Uint64Series

  • Create a new cudf.Float32Series

    example
    import {
    Series,
    Float32Series,
    Float32
    } from '@rapidsai/cudf';

    // Float32Series [1, 2, 3]
    const a = Series.new(new Float32Array([1, 2, 3]));
    const b = Series.new(new Float32Buffer([1, 2, 3]));

    Parameters

    Returns Float32Series

  • Create a new cudf.StringSeries

    example
    import {Series} from '@rapidsai/cudf';

    // StringSeries ["foo", "bar", "test", null]
    const a = Series.new(["foo", "bar", "test", null]);

    Parameters

    • input: (undefined | null | string)[]

    Returns StringSeries

  • Create a new cudf.Float64Series

    example
    import {Series} from '@rapidsai/cudf';

    // Float64Series [1, 2, 3, null, 4]
    const a = Series.new([1, 2, 3, undefined, 4]);

    Parameters

    • input: Float64Buffer | Float64Array | (undefined | null | number)[]

    Returns Float64Series

  • Create a new cudf.Int64Series

    example
    import {Series} from '@rapidsai/cudf';

    // Int64Series [1n, 2n, 3n, null, 4n]
    const a = Series.new([1n, 2n, 3n, undefined, 4n]);

    Parameters

    • input: Int64Buffer | BigInt64Array | (undefined | null | bigint)[]

    Returns Int64Series

  • Create a new cudf.Bool8Series

    example
    import {Series} from '@rapidsai/cudf';

    // Bool8Series [true, false, null, false]
    const a = Series.new([true, false, undefined, false]);

    Parameters

    • input: (undefined | null | boolean)[]

    Returns Bool8Series

  • Create a new cudf.TimestampMillisecondSeries

    example
    import {Series} from '@rapidsai/cudf';

    // TimestampMillisecondSeries [2021-05-13T00:00:00.000Z, null, 2021-05-13T00:00:00.000Z,
    null] const a = Series.new([new Date(), undefined, new Date(), undefined]);

    Parameters

    • input: (undefined | null | Date)[]

    Returns TimestampMillisecondSeries

  • Create a new cudf.ListSeries that contain cudf.StringSeries elements.

    example
    import {Series} from '@rapidsai/cudf';

    // ListSeries [["foo", "bar"], ["test", null]]
    const a = Series.new([["foo", "bar"], ["test",null]]);
    a.getValue(0) // StringSeries ["foo", "bar"]
    a.getValue(1) // StringSeries ["test", null]

    Parameters

    • input: (undefined | null | string)[][]

    Returns ListSeries<Utf8String>

  • Create a new cudf.ListSeries that contain cudf.Float64Series elements.

    example
    import {Series} from '@rapidsai/cudf';

    // ListSeries [[1, 2], [3, null, 4]]
    const a = Series.new([[1, 2], [3, undefined, 4]]);
    a.getValue(0) // Float64Series [1, 2]
    a.getValue(1) // Float64Series [3, null, 4]

    Parameters

    • input: (undefined | null | number)[][]

    Returns ListSeries<Float64>

  • Create a new cudf.ListSeries that contain cudf.Int64Series elements.

    example
    import {Series} from '@rapidsai/cudf';

    // ListSeries [[1n, 2n], [3n, null, 4n]]
    const a = Series.new([[1n, 2n], [3n, undefined, 4n]]);
    a.getValue(0) // Int64Series [1n, 2n]
    a.getValue(1) // Int64Series [3n, null, 4n]

    Parameters

    • input: (undefined | null | bigint)[][]

    Returns ListSeries<Int64>

  • Create a new cudf.ListSeries that contain cudf.Bool8Series elements.

    example
    import {Series} from '@rapidsai/cudf';

    // ListSeries [[true, false], [null, false]]
    const a = Series.new([[true, false], [undefined, false]]);
    a.getValue(0) // Bool8Series [true, false]
    a.getValue(1) // Bool8Series [null, false]

    Parameters

    • input: (undefined | null | boolean)[][]

    Returns ListSeries<Bool8>

  • Create a new cudf.ListSeries that contain cudf.TimestampMillisecondSeries elements.

    example
    import {Series} from '@rapidsai/cudf';

    // ListSeries [[2021-05-13T00:00:00.000Z, null], [null, 2021-05-13T00:00:00.000Z]]
    const a = Series.new([[new Date(), undefined], [undefined, new Date()]]);
    a.getValue(0) // TimestampMillisecondSeries [2021-05-13T00:00:00.000Z, null]
    a.getValue(1) // TimestampMillisecondSeries [null, 2021-05-13T00:00:00.000Z]

    Parameters

    • input: (undefined | null | Date)[][]

    Returns ListSeries<TimestampMillisecond>

  • Type parameters

    • T: readonly unknown[]

    Parameters

    • input: T

    Returns Series<ArrowToCUDFType<JavaScriptArrayDataType<T>>>

  • Type parameters

    Parameters

    • input: AbstractSeries<T> | Column<T> | SeriesProps<T> | Vector<T> | (undefined | null | string)[] | (undefined | null | number)[] | (undefined | null | bigint)[] | (undefined | null | boolean)[] | (undefined | null | Date)[] | (undefined | null | string)[][] | (undefined | null | number)[][] | (undefined | null | bigint)[][] | (undefined | null | boolean)[][] | (undefined | null | Date)[][]

    Returns Series<T>

Static readText

  • Constructs a Series from a text file path.

    note

    If delimiter is omitted, the default is ''.

    example
    import {Series} from '@rapidsai/cudf';

    const infile = Series.readText('./inputAsciiFile.txt')

    Parameters

    • filepath: string

      Path of the input file.

    • delimiter: string

      Optional delimiter.

    Returns StringSeries

    StringSeries from the file, split by delimiter.

Static sequence

  • sequence<U>(opts: { init?: U["scalarType"]; memoryResource?: MemoryResource; size: number; step?: U["scalarType"]; type?: U }): Series<U>
  • Constructs a Series with a sequence of values.

    note

    If init is omitted, the default is 0.

    note

    If step is omitted, the default is 1.

    note

    If type is omitted, the default is Int32.

    example
    import {Series, Int64, Float32} from '@rapidsai/cudf';

    Series.sequence({size: 5}).toArray() // Int32Array[0, 1, 2, 3, 4]
    Series.sequence({size: 5, init: 5}).toArray() // Int32Array[5, 6, 7, 8, 9]
    Series
    .sequence({ size: 5, init: 0, type: new Int64 })
    .toArray() // BigInt64Array[0n, 1n, 2n, 3n, 4n]
    Series
    .sequence({ size: 5, step: 2, init: 1, type: new Float32 })
    .toArray() // Float32Array[1, 3, 5, 7, 9]

    Type parameters

    Parameters

    • opts: { init?: U["scalarType"]; memoryResource?: MemoryResource; size: number; step?: U["scalarType"]; type?: U }

      Options for creating the sequence

      • Optional init?: U["scalarType"]
      • Optional memoryResource?: MemoryResource
      • size: number
      • Optional step?: U["scalarType"]
      • Optional type?: U

    Returns Series<U>

    Series with the sequence