У меня есть огромное количество данных JSON, которые я пытаюсь поместить в фрейм данных pandas с несколькими конкретными характеристиками.
Вот пример записи из JSON (записи разделены строкой):
{
"meta": {
"sessionId": "cjsxv6zft00003idmxmhuizqi",
"page": "/Guide/Samsung+Galaxy+S9+Motherboard+Replacement/119296",
"time": 1551916810050
},
"metrics": {
"stepTimeSpent": {
"s224944": 10,
"s229191": 10,
"s224945": 10,
"s224946": 10,
},
"stepThumbnailHoverCount": {
"step3-stepImage1-1619224": 0,
"step3-stepImage2-1619225": 0,
"step3-stepImage3-1619232": 0,
},
"clickedGivePoints": false,
"commentsTimeSpent": 10
}
}
Я хочу, чтобы строки моего информационного кадра были проиндексированы с помощью sessionId (хотя не имеет значения, в порядке они или нет).Кроме того, если существует несколько записей с одним и тем же идентификатором sessionId, я хочу, чтобы в моем фрейме данных была только самая последняя (самое большое время).
Мне бы хотелось, чтобы у моего фрейма данных были следующие столбцы:
- "page"
- "stepTimeSpent"
- "stepThumbnailHoverCount"
- "clickedGivePoints"
- "commentsTimeSpent"
Столбцы "stepTimeSpent" и "stepThumbnailHover" должны быть списками целых чисел (значений).
Моя настоящая проблема здесь заключается в попытке выяснить порядок выполнения всех этих действий.Я не уверен, что я могу сделать так, когда добавляю строки JSON в фрейм данных, и что я должен делать после того, как фрейм данных уже создан (если есть).
Настоящим кикером здесь является то, что у меня естьоколо 30 ГБ данных JSON, которые я хотел бы поместить в фрейм данных, поэтому эффективность является ключевым фактором.Если мне придется использовать меньше данных, так и быть, форматирование важнее.