Schemas

Table Schemas

schema

ibis.schema(pairs=None, names=None, types=None)

Validate and return a Schema object.

Parameters

Name Type Description Default
pairs SchemaLike | None List or dictionary of name, type pairs. Mutually exclusive with names and types arguments. None
names Iterable[str] | None Field names. Mutually exclusive with pairs. None
types Iterable[str | dt.DataType] | None Field types. Mutually exclusive with pairs. None

Returns

Type Description
Schema An ibis schema

Examples

>>> from ibis import schema, Schema
>>> sc = schema([("foo", "string"), ("bar", "int64"), ("baz", "boolean")])
>>> sc = schema(names=["foo", "bar", "baz"], types=["string", "int64", "boolean"])
>>> sc = schema(dict(foo="string"))
>>> sc = schema(Schema(dict(foo="string")))  # no-op

Schema

Schema(self, **kwargs)

An ordered mapping of str -> datatype, used to hold a Table’s schema.

Attributes

Name Description
fields A mapping of str to

Methods

Name Description
equals Return whether other is equal to self.
from_numpy Return the equivalent ibis schema.
from_pandas Return the equivalent ibis schema.
from_polars Return the equivalent ibis schema.
from_pyarrow Return the equivalent ibis schema.
from_tuples Construct a Schema from an iterable of pairs.
name_at_position Return the name of a schema column at position i.
to_numpy Return the equivalent numpy dtypes.
to_pandas Return the equivalent pandas datatypes.
to_polars Return the equivalent polars schema.
to_pyarrow Return the equivalent pyarrow schema.

equals

equals(other)

Return whether other is equal to self.

Parameters

Name Type Description Default
other Schema Schema to compare self to. required

Examples

>>> import ibis
>>> first = ibis.schema({"a": "int"})
>>> second = ibis.schema({"a": "int"})
>>> assert first.equals(second)
>>> third = ibis.schema({"a": "array<int>"})
>>> assert not first.equals(third)

from_numpy

from_numpy(numpy_schema)

Return the equivalent ibis schema.

from_pandas

from_pandas(pandas_schema)

Return the equivalent ibis schema.

from_polars

from_polars(polars_schema)

Return the equivalent ibis schema.

from_pyarrow

from_pyarrow(pyarrow_schema)

Return the equivalent ibis schema.

from_tuples

from_tuples(values)

Construct a Schema from an iterable of pairs.

Parameters

Name Type Description Default
values Iterable[tuple[str, str | dt.DataType]] An iterable of pairs of name and type. required

Returns

Type Description
Schema A new schema

Examples

>>> import ibis
>>> ibis.Schema.from_tuples([("a", "int"), ("b", "string")])
ibis.Schema {
  a  int64
  b  string
}

name_at_position

name_at_position(i)

Return the name of a schema column at position i.

Parameters

Name Type Description Default
i int The position of the column required

Returns

Type Description
str The name of the column in the schema at position i.

Examples

>>> import ibis
>>> sch = ibis.Schema({"a": "int", "b": "string"})
>>> sch.name_at_position(0)
'a'
>>> sch.name_at_position(1)
'b'

to_numpy

to_numpy()

Return the equivalent numpy dtypes.

to_pandas

to_pandas()

Return the equivalent pandas datatypes.

to_polars

to_polars()

Return the equivalent polars schema.

to_pyarrow

to_pyarrow()

Return the equivalent pyarrow schema.

Back to top