Skip to content

yggdrasil.pandas.cast

cast

Pandas <-> Arrow casting helpers and converters.

cast_pandas_series

cast_pandas_series(
    series: Series, options: Optional[CastOptions] = None
) -> pandas.Series

Cast a pandas Series to a target Arrow type using Arrow casting rules.

This is now a thin wrapper around Field.cast_pandas_frame.

cast_pandas_dataframe

cast_pandas_dataframe(
    dataframe: DataFrame, options: Optional[CastOptions] = None
) -> pandas.DataFrame

Cast a pandas DataFrame to a target Arrow schema using Arrow casting rules.

This is now a thin wrapper around Schema.cast_pandas_frame.

arrow_array_to_pandas_series

arrow_array_to_pandas_series(
    array: Array, cast_options: Optional[CastOptions] = None
) -> pandas.Series

Convert a pyarrow.Array (or ChunkedArray) to a pandas Series, optionally applying Arrow casting via ArrowCastOptions before conversion.

arrow_table_to_pandas_dataframe

arrow_table_to_pandas_dataframe(
    table: Table, cast_options: Optional[CastOptions] = None
) -> pandas.DataFrame

Convert a pyarrow.Table to a pandas DataFrame, optionally applying Arrow casting rules first.

any_to_pandas_dataframe

any_to_pandas_dataframe(
    obj: Any, options: Optional[CastOptions] = None
) -> pandas.DataFrame

Convert any supported object to a pandas.DataFrame.

Recognised shapes (in dispatch order):

  • pandas.DataFrame — passed through to :func:cast_pandas_dataframe.
  • Path / URL str, :class:os.PathLike, or :class:yggdrasil.io.tabular.Tabular (incl. :class:Holder / :class:Path / :class:Memory / :class:IO) — routed through :meth:Tabular.read_pandas_frame so format leaves use their native scanners.
  • Anything else — coerced to a pa.Table via :func:yggdrasil.arrow.cast.any_to_arrow_table and then handed to :func:arrow_table_to_pandas_dataframe. This covers polars / spark / Arrow / dict / list-of-dicts / dataclass shapes via the registered converters those modules install on import.

pandas_series_to_arrow_array

pandas_series_to_arrow_array(
    series: Series, cast_options: Optional[CastOptions] = None
) -> pa.Array

Convert a pandas Series to a pyarrow.Array, optionally applying Arrow casting via ArrowCastOptions.

pandas_dataframe_to_arrow_table

pandas_dataframe_to_arrow_table(
    df: DataFrame, cast_options: Optional[CastOptions] = None
) -> pa.Table

Convert a pandas DataFrame to a pyarrow.Table, optionally applying Arrow casting rules via ArrowCastOptions.