Class StructFrameAccessor (1.21.0)

StructFrameAccessor(data: bigframes.dataframe.DataFrame)

Accessor object for structured data properties of the Series values.

Methods

explode

explode(column, *, separator: str = ".") -> bigframes.dataframe.DataFrame

Extract all child fields of struct column(s) and add to the DataFrame.

Examples:

>>> import bigframes.pandas as bpd
>>> import pyarrow as pa
>>> bpd.options.display.progress_bar = None
>>> countries = bpd.Series(["cn", "es", "us"])
>>> files = bpd.Series(
...     [
...         {"project": "pandas", "version": 1},
...         {"project": "pandas", "version": 2},
...         {"project": "numpy", "version": 1},
...     ],
...     dtype=bpd.ArrowDtype(pa.struct(
...         [("project", pa.string()), ("version", pa.int64())]
...     ))
... )
>>> downloads = bpd.Series([100, 200, 300])
>>> df = bpd.DataFrame({"country": countries, "file": files, "download_count": downloads})
>>> df.struct.explode("file")
  country file.project  file.version  download_count
0      cn       pandas             1             100
1      es       pandas             2             200
2      us        numpy             1             300
<BLANKLINE>
[3 rows x 4 columns]
Returns
Type Description
DataFrame Original DataFrame with exploded struct column(s).