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
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. |