maxframe.dataframe.Series.mf.flatjson#

Series.mf.flatjson(query_paths: List[str], dtypes=None, dtype=None, name: str = None) DataFrame#

Flat JSON object in the series to a dataframe according to JSON query.

Parameters:
  • series (Series) – The series of json strings.

  • query_paths (List[str] or str) – The JSON query paths for each generated column. The path format should follow [RFC9535](https://datatracker.ietf.org/doc/rfc9535/).

  • dtypes (Series, default None) – Specify dtypes of returned DataFrame. Can’t work with dtype.

  • dtype (numpy.dtype, default None) – Specify dtype of returned Series. Can’t work with dtypes.

  • name (str, default None) – Specify name of the returned Series.

Returns:

Result of DataFrame when dtypes specified, else Series.

Return type:

DataFrame or Series

Examples

>>> import maxframe.dataframe as md
>>> import pandas as pd
>>> s = md.Series(
...     [
...         '{"age": 24, "gender": "male", "graduated": false}',
...         '{"age": 25, "gender": "female", "graduated": true}',
...     ]
... )
>>> s.execute()
0    {"age": 24, "gender": "male", "graduated": false}
1    {"age": 25, "gender": "female", "graduated": true}
dtype: object
>>> df = s.mf.flatjson(
...    ["$.age", "$.gender", "$.graduated"],
...    dtypes=pd.Series(["int32", "object", "bool"], index=["age", "gender", "graduated"]),
... )
>>> df.execute()
    age  gender  graduated
0   24    male       True
1   25  female       True
>>> s2 = s.mf.flatjson("$.age", name="age", dtype="int32")
>>> s2.execute()
0    24
1    25
Name: age, dtype: int32