У меня есть фрейм данных (df1), содержащий два столбца.
id information
00100 {'DriversList': {'ProblematicDrivers': [], 'In...
00200 {'DriversList': {'ProblematicDrivers': [], 'In...
Столбец информации содержит вложенный json объект, который необходимо преобразовать в dataFrame и связать с идентификатором.
df1 ['information'] столбца json -
'DriversList': {
'ProblematicDrivers': [
],
'InstalledDrivers': [
{
'DriverName': 'FaxMachine',
'DisplayName': 'Fax',
'Version': '10',
'Date': '06-21-2006'
},
{
'DriverName': 'FaxMachine',
'DisplayName': 'Fax',
'Version': '10',
'Date': '06-21-2006'
}
]
}
}
Мой код пока:
df2 = pd.DataFRame()
data = json_normalize(data = df1['information'])
for x in data['DriversList.InstalledDrivers']:
df2 = df2.append(x)
Количество записей в столбце информации будет связано с идентификатор, который присутствует в исходном фрейме данных (df1)
Например - для первой строки, поскольку информационный столбец содержит 2 записи для InstalledDrivers, окончательный вывод будет иметь 00100, связанный с 2 строками.
Ожидаемый выход -
id Date DriverName DisplayName Version
00100 06-21-2006 FaxMachine Fax 10
00100 06-21-2006 FaxMachine Fax 10
00200 06-21-2006 FaxMachine Fax 10
00200 06-21-2006 FaxMachine Fax 10
Любой подходящий подход, который может быть обработан только на уровне dataFrame. Я также пробовал JSON_Normalize, но не смог загрузить этот JSON в фрейм данных. Можно ли это сделать с помощью JSON Normalize или есть другое оптимизированное решение? А также не может связать идентификатор с преобразованным фреймом данных.