У меня есть фрейм данных json с сообщениями tedx в виде элементов (строк), в котором столбец «рейтинги» в формате json выглядит следующим образом. (В столбце показано, как аудитория описывала доклад)
[{"id": 7, "name": "Funny", "count": 19645}, {"id": 1, "name"":" Beautiful "," count ": 4573}, {" id ": 9," name ":" Ingenious "," count ": 6073}, ..........]
[{"id": 7, "name": "Funny", "count": 544}, {"id": 3, "name": "Courageous", "count": 139}, {"id": 2," name ":" Confused "," count ": 62}, {" id ": 1," name ":" Beautiful "," count ": 58}, ........]
Очевидно, что порядок имен описательных слов не является стандартным / одинаковым для каждого элемента (разговор Тедкс). Каждое слово имеет идентификатор (одинаковый для всех разговоров) и количество соответственно для каждого разговора. Я заинтересован в манипулировании данными и извлечении трех новых целочисленных столбцов, касающихся количества: забавных, вдохновляющих, сбивающих с толку, сохраняя там счетчик для каждого из этих слов для соответствующих переговоров
Среди прочего, пробовал это
df['ratings'] = df['ratings'].map(lambda x: dict(eval(x)))
в ответ я получаю эту ошибку
Файл "C: / Users / Paul / Google Drive / WEEK4 / ted-talk / w4e1.py", строка 30, в рейтингах df [''] = df [' rating ']. map (лямбда x: dict (eval (x)))
ValueError: элемент последовательности обновления словаря # 0 имеет длину 3;Требуется 2
Пробовал несколько разных способов, но не смог даже получить значения из столбца в формате json должным образом. Есть предложения?