Class StructFrameAccessor (1.37.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(
...     [
...         {"version": 1, "project": "pandas"},
...         {"version": 2, "project": "pandas"},
...         {"version": 1, "project": "numpy"},
...     ],
...     dtype=bpd.ArrowDtype(pa.struct(
...         [("version", pa.int64()), ("project", pa.string())]
...     ))
... )
>>> downloads = bpd.Series([100, 200, 300])
>>> df = bpd.DataFrame({"country": countries, "file": files, "download_count": downloads})
>>> df.struct.explode("file")
  country  file.version file.project  download_count
0      cn             1       pandas             100
1      es             2       pandas             200
2      us             1        numpy             300
<BLANKLINE>
[3 rows x 4 columns]
Returns
Type Description
DataFrame Original DataFrame with exploded struct column(s).