Class StructAccessor (1.10.0)

StructAccessor(
 data=None,
 index: vendored_pandas_typing.Axes | None = None,
 dtype: typing.Optional[
 bigframes.dtypes.DtypeString | bigframes.dtypes.Dtype
 ] = None,
 name: str | None = None,
 copy: typing.Optional[bool] = None,
 *,
 session: typing.Optional[bigframes.session.Session] = None
)

Accessor object for structured data properties of the Series values.

Methods

dtypes

dtypes() -> pandas.core.series.Series

Return the dtype object of each child field of the struct.

Examples:

>>> import bigframes.pandas as bpd
>>> import pyarrow as pa
>>> bpd.options.display.progress_bar = None
>>> s = bpd.Series(
... [
... {"version": 1, "project": "pandas"},
... {"version": 2, "project": "pandas"},
... {"version": 1, "project": "numpy"},
... ],
... dtype=bpd.ArrowDtype(pa.struct(
... [("version", pa.int64()), ("project", pa.string())]
... ))
... )
>>> s.struct.dtypes()
version Int64
project string[pyarrow]
dtype: object

explode

explode() -> bigframes.dataframe.DataFrame

Extract all child fields of a struct as a DataFrame.

Examples:

>>> import bigframes.pandas as bpd
>>> import pyarrow as pa
>>> bpd.options.display.progress_bar = None
>>> s = bpd.Series(
... [
... {"version": 1, "project": "pandas"},
... {"version": 2, "project": "pandas"},
... {"version": 1, "project": "numpy"},
... ],
... dtype=bpd.ArrowDtype(pa.struct(
... [("version", pa.int64()), ("project", pa.string())]
... ))
... )

Extract all child fields.

>>> s.struct.explode()
 version project
0 1 pandas
1 2 pandas
2 1 numpy
<BLANKLINE>
[3 rows x 2 columns]
Returns
Type Description
DataFrame The data corresponding to all child fields.

field

field(name_or_index: str | int) -> bigframes.series.Series

Extract a child field of a struct as a Series.

Examples:

>>> import bigframes.pandas as bpd
>>> import pyarrow as pa
>>> bpd.options.display.progress_bar = None
>>> s = bpd.Series(
... [
... {"version": 1, "project": "pandas"},
... {"version": 2, "project": "pandas"},
... {"version": 1, "project": "numpy"},
... ],
... dtype=bpd.ArrowDtype(pa.struct(
... [("version", pa.int64()), ("project", pa.string())]
... ))
... )

Extract by field name.

>>> s.struct.field("project")
0 pandas
1 pandas
2 numpy
Name: project, dtype: string

Extract by field index.

>>> s.struct.field(0)
0 1
1 2
2 1
Name: version, dtype: Int64
Returns
Type Description
Series The data corresponding to the selected child field.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年10月27日 UTC.