Class StructAccessor (2.27.0)

StructAccessor(data: bigframes.series.Series)

Accessor object for structured data properties of the Series values.

Properties

dtypes

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

Examples:

>>> import bigframes.pandas as bpd
>>> 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[pyarrow]
project string[pyarrow]
dtype: object

Methods

explode

explode() -> bigframes.dataframe.DataFrame

Extract all child fields of a struct as a DataFrame.

Examples:

>>> import bigframes.pandas as bpd
>>> 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
>>> 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.