maxframe.dataframe.Series.mf.flatjson#
- Series.mf.flatjson(query_paths: List[str], dtypes=None, dtype=None, name: str = None) DataFrame#
将 Series 中的 JSON 对象根据 JSON 查询展平为 DataFrame。
- 参数:
series (Series) -- JSON 字符串的 Series。
query_paths (List[str] or str) -- 每个生成列的 JSON 查询路径。路径格式应遵循 [RFC9535](https://datatracker.ietf.org/doc/rfc9535/)。
dtypes (Series, default None) -- 指定返回 DataFrame 的数据类型。不能与 dtype 同时使用。
dtype (numpy.dtype, default None) -- 指定返回 Series 的数据类型。不能与 dtypes 同时使用。
name (str, default None) -- 指定返回 Series 的名称。
- 返回:
当指定 dtypes 时返回 DataFrame,否则返回 Series。
- 返回类型:
示例
>>> 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