У меня есть фрейм данных, где есть столбец, содержащий JSON как -
Player ID Response
1 [{'id': '1-4', 'content': 'Develop'}, {'id': '1-3', 'content': 'Networking'}, {'id': '1-5', 'content': 'Opportunity'}]
2 [{'id': '1-4', 'content': 'Develop'}]
3 [{'id': '1-3', 'content': 'Networking'}, {'id': '1-4', 'content': 'Develop'}, {'id': '1-2', 'content': 'Excuse'}]
4 [{'id': '1-4', 'content': 'Develop'}, {'id': '1-6', 'content': 'Gain'}, {'id': '1-1', 'content': 'Different'}]
, где столбец Response
содержит 1-3 сущности в заказе. Мне нужно переупорядочить этот столбец во что-то вроде -
ID Score InResponse
1-1 1 1
1-2 1 1
1-3 5 2
1-4 11 4
1-5 1 1
1-6 2 1
, где, если идентификатор является 1-м по порядку, он получает 3 очка, 2 балла, если его второй, и 1 балл, если третий по порядку. Так, например, 1-4 - 1-й в 3-х ответах и 2-й в одном, то есть 3x3 + 1x2 = 11 pts
. И InResponse
означает, сколько вхождений этого идентификатора в кадре данных.
Я пытался
pd.io.json.json_normalize(df.Q1.to_dict())
, но по какой-то причине это дает мне неожиданные результаты. Как я могу это сделать?