Учитывая json
строку записей, где «схема» для каждой записи не согласована (например, каждая запись не имеет полного набора «столбцов»):
s = """[{"a": 3, "b":[]}, {"a": 4, "b": [4]}, {"a": 5}]"""
A pandas DataFrame
может быть построен из этой строки:
import pandas as pd
import json
json_df = pd.DataFrame.from_records(json.loads(s))
Что приводит к
a b
0 3 []
1 4 [4]
2 5 NaN
Как все NaN
экземпляры pandas Series
столбец будет заполнен пустыми list
значениями? Ожидаемый результирующий DataFrame будет:
a b
0 3 []
1 4 [4]
2 5 []
Я пробовал следующее; ничего из этого не сработало:
json_df[json_df.b.isna()] = [[]]*json_df[json_df.b.isna()].shape[0]
from itertools import repeat
json_df[json_df.b.isna()] = repeat([], json_df[json_df.b.isna()].shape[0])
import numpy as np
json_df[json_df.b.isna()] = np.repeat([], json_df[json_df.b.isna()].shape[0])
Заранее благодарим за внимание и ответ.