Имея файл JSON, такой как:
[ {"fecha" : "2013-07-01","indicativo" : "3195","nombre" : "MADRID,RETIRO","orig" : "10","dest" : "122","value" : "15"},{"fecha" :"2013-07-02","indicativo" : "3195","nombre" : "MADRID, RETIRO","orig" :"15","dest" : "5","value" : "15"},{"fecha" : "2013-07-03","indicativo" :"3195","nombre" : "MADRID, RETIRO","orig" : "5","dest" : "15","value" :"15"},{"fecha" : "2013-07-04","indicativo" : "3195","nombre" : "MADRID,RETIRO","orig" : "10","dest" : "122","value" : "15"}]
Я пытаюсь получить матрицу, в которой значение поля orig равно значению строки y dest, как столбцу.В матрице я хотел бы иметь число вхождений, которые имеют это orig и dest.
Пример с предоставленными данными:
| data | 5 | 10 | 15 | 122 |
|------|---|----|----|-----|
| 5 | 0 | 0 | 1 | 0 |
| 10 | 0 | 0 | 0 | 2 |
| 15 | 1 | 0 | 0 | 0 |
| 122 | 0 | 0 | 0 | 0 |
В основном я хочу получить таблицу, которая показываетнапример, для orig = 10 и dest = 122 у меня есть вхождения в json 2.
Я понимаю, что мне нужно сначала paser json и преобразовать его в фрейм данных.
Проблема в том, чтокак только у меня есть этот df, как я могу создать матрицу с таким количеством строк, сколько у меня разных origin и dest (обратите внимание, что они являются базовыми идентификаторами, и если у меня есть число 122 в dest, но не в orig, это означает, что ни одна trvae не формируетсяэта точка, но некоторые из них приписаны к ней).
Думая, что я мог бы вообразить, что мне сначала нужно извлечь разные идентификаторы, которые у меня есть в orig и dest, а затем проанализировать каждую строку json и увеличить ее на единицу df[orig] [dest] позиция.Но есть ли другое более эффективное и быстрое решение для этого?