Как преобразовать сложный вложенный JSON в панды Dataframe - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь преобразовать вложенный комплексный json в фрейм данных, это мой формат json

Есть несколько строк json, как это, я просто использовал здесь только одну, которая является идентификатором выше, когда я пытаюсьчтобы преобразовать фрейм данных, я получаю вывод, подобный этому

enter image description here

Я также хочу, чтобы отображать innings batsmen name stats runes ballsFaced.Я хочу показать полные данные в фрейме данных.

{
  '1164223': {
    'fullSummaryLink': '/series/19014/scorecard/1164223/new-zealand-a-vs-india-a-1st-unofficial-odi-india-a-tour-of-nz-2018-19',
    'innings': {
      '1': {
        'batsmen': [
          {
            'name': 'HD Rutherford',
            'href': 'http://www.espncricinfo.com/ci/content/player/331375.html',
            'stats': {
              'runs': {
                'name': 'runs',
                'text': 'RUNS',
                'value': '70'
              },
              'ballsFaced': {
                'name': 'ballsFaced',
                'text': 'BF',
                'value': '66'
              },
              'notouts': {
                'name': 'notouts',
                'text': 'Not Out',
                'value': '0'
              }
            }
          },
          {
            'name': 'JDS Neesham',
            'href': 'http://www.espncricinfo.com/ci/content/player/355269.html',
            'stats': {
              'runs': {
                'name': 'runs',
                'text': 'RUNS',
                'value': '79'
              },
              'ballsFaced': {
                'name': 'ballsFaced',
                'text': 'BF',
                'value': '48'
              },
              'notouts': {
                'name': 'notouts',
                'text': 'Not Out',
                'value': '1'
              }
            }
          }
        ],
        'team': {
          'teamDisplayName': 'NEW ZEALAND A',
          'innDisplayName': 'INNINGS',
          'runs': 308,
          'overs': 50,
          'wickets': 6,
          'description': 'complete',
          'inningsRunWicket': '308/6',
          'inningStatus': ''
        },
        'bowlers': [
          {
            'name': 'S Kaul',
            'href': 'http://www.espncricinfo.com/ci/content/player/326017.html',
            'stats': {
              'overs': {
                'name': 'overs',
                'text': 'O',
                'value': '10'
              },
              'conceded': {
                'name': 'conceded',
                'text': 'R',
                'value': '74'
              },
              'wickets': {
                'name': 'wickets',
                'text': 'E',
                'value': '2'
              }
            }
          },
          {
            'name': 'K Gowtham',
            'href': 'http://www.espncricinfo.com/ci/content/player/424377.html',
            'stats': {
              'overs': {
                'name': 'overs',
                'text': 'O',
                'value': '9'
              },
              'conceded': {
                'name': 'conceded',
                'text': 'R',
                'value': '46'
              },
              'wickets': {
                'name': 'wickets',
                'text': 'E',
                'value': '1'
              }
            }
          }
        ]
      },
      '2': {
        'bowlers': [
          {
            'name': 'HK Bennett',
            'href': 'http://www.espncricinfo.com/ci/content/player/226493.html',
            'stats': {
              'overs': {
                'name': 'overs',
                'text': 'O',
                'value': '10'
              },
              'conceded': {
                'name': 'conceded',
                'text': 'R',
                'value': '65'
              },
              'wickets': {
                'name': 'wickets',
                'text': 'E',
                'value': '2'
              }
            }
          },
          {
            'name': 'LH Ferguson',
            'href': 'http://www.espncricinfo.com/ci/content/player/493773.html',
            'stats': {
              'overs': {
                'name': 'overs',
                'text': 'O',
                'value': '10'
              },
              'conceded': {
                'name': 'conceded',
                'text': 'R',
                'value': '75'
              },
              'wickets': {
                'name': 'wickets',
                'text': 'E',
                'value': '2'
              }
            }
          }
        ],
        'batsmen': [
          {
            'name': 'V Shankar',
            'href': 'http://www.espncricinfo.com/ci/content/player/477021.html',
            'stats': {
              'runs': {
                'name': 'runs',
                'text': 'RUNS',
                'value': '87'
              },
              'ballsFaced': {
                'name': 'ballsFaced',
                'text': 'BF',
                'value': '80'
              },
              'notouts': {
                'name': 'notouts',
                'text': 'Not Out',
                'value': '1'
              }
            }
          },
          {
            'name': 'SS Iyer',
            'href': 'http://www.espncricinfo.com/ci/content/player/642519.html',
            'stats': {
              'runs': {
                'name': 'runs',
                'text': 'RUNS',
                'value': '54'
              },
              'ballsFaced': {
                'name': 'ballsFaced',
                'text': 'BF',
                'value': '54'
              },
              'notouts': {
                'name': 'notouts',
                'text': 'Not Out',
                'value': '0'
              }
            }
          }
        ],
        'team': {
          'teamDisplayName': 'INDIA A',
          'innDisplayName': 'INNINGS',
          'runs': 311,
          'overs': 49,
          'wickets': 6,
          'description': 'target reached',
          'inningsRunWicket': '311/6',
          'inningStatus': ''
        }
      }
    },
    'isAvailable': True
  }
}

Это вывод моего кода, который я пробовал, и я дал образец изображения, который выводит .. Я пытаюсьпревратить в простой формат, который я не смог сделать.

это мой код на python, который преобразует словарь значений json в кадр данных панд

df = pd.concat({k: pd.DataFrame(v) for k, v in scorecard_summary.items()})
df
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...