ColumnarTensor#

class sdm.tensor.ColumnarTensor(columns: Sequence[Tensor], size: Sequence[int] | None = None, device: device | str | None = None)#

Bases: Tensor

A torch.Tensor for column-wise heterogeneous data.

A ColumnarTensor exposes a tensor-centric interface for columnar data with shape [..., C]. Each of the C columns is stored independently and may use a different tensor subclass or dtype.

Parameters:
  • columns (Sequence[Tensor]) – Per-column values.

  • size (Sequence[int] | None) – The shape of the tensor [...].

  • device (torch.device | str | None) – The device.

Return type:

Self

classmethod from_arrow(array: Array | ChunkedArray, *, device: device | str | None = None) → Self#

Create tensor from a pyarrow.Array.

Parameters:
Return type:

Self

classmethod from_cudf(ser: cudf.Series | cudf.Index, *, device: torch.device | str | None = None) → Self#

Create tensor from a cudf.Series.

Parameters:
Return type:

Self

to_arrow(names: Sequence[str] | None = None) → Table#

Convert this tensor to a two-dimensional pyarrow.Table.

Parameters:

names (Sequence[str] | None) – The column names.

Return type:

Table

to_cudf(names: Sequence[str] | None = None) → cudf.DataFrame#

Convert this tensor to a two-dimensional cudf.DataFrame.

Parameters:

names (Sequence[str] | None) – The column names.

Return type:

cudf.DataFrame