如何在python中迭代多级数据帧

2021-11-29 22:32:16 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的数据帧中有json值,现在我想迭代它们,我尝试了几种方法,但都失败了。我曾尝试将dataframe值转换为嵌套字典,以便它们可以轻松地进行迭代,但我也失败了

在迭代完要保存的值之后,我要以展开的形式再次保存到数据帧中,这样我就可以得到所有的值

这就是我的字典的价值观

{
  ('1144986',
  '1'): {
    'batsmen': [
      {
        'name': 'NM Coulter-Nile',
        'stats': {
          'runs': {
            'name': 'runs',
            'text': 'RUNS',
            'value': '34'
          },
          'ballsFaced': {
            'name': 'ballsFaced',
            'text': 'BF',
            'value': '31'
          }
        }
      },
      {
        'name': 'AT Carey',
        'stats': {
          'runs': {
            'name': 'runs',
            'text': 'RUNS',
            'value': '33'
          },
          'ballsFaced': {
            'name': 'ballsFaced',
            'text': 'BF',
            'value': '71'
          }
        }
      }
    ],
    'bowlers': [
      {
        'name': 'DW Steyn',
        'stats': {
          'overs': {
            'name': 'overs',
            'text': 'O',
            'value': '7'
          },
          'wickets': {
            'name': 'wickets',
            'text': 'E',
            'value': '2'
          }
        }
      },
      {
        'name': 'AL Phehlukwayo',
        'stats': {
          'overs': {
            'name': 'overs',
            'text': 'O',
            'value': '6'
          },
          'wickets': {
            'name': 'wickets',
            'text': 'E',
            'value': '3'
          }
        }
      }
    ],
    'team': {
      'teamDisplayName': 'AUSTRALIA',
      'innDisplayName': 'INNINGS',
      'runs': 152,
      'overs': 38.1,
      'wickets': 10,
      'description': 'all out',
      'inningsRunWicket': 152,
      'inningStatus': ''
    }
  },
  ('1144986',
  '2'): {
    'batsmen': [
      {
        'name': 'RR Hendricks',
        'stats': {
          'runs': {
            'name': 'runs',
            'text': 'RUNS',
            'value': '44'
          },
          'ballsFaced': {
            'name': 'ballsFaced',
            'text': 'BF',
            'value': '74'
          }
        }
      },
      {
        'name': 'Q de Kock',
        'stats': {
          'runs': {
            'name': 'runs',
            'text': 'RUNS',
            'value': '47'
          },
          'ballsFaced': {
            'name': 'ballsFaced',
            'text': 'BF',
            'value': '40'
          }
        }
      }
    ],
    'bowlers': [
      {
        'name': 'NM Coulter-Nile',
        'stats': {
          'overs': {
            'name': 'overs',
            'text': 'O',
            'value': '3'
          },
          'wickets': {
            'name': 'wickets',
            'text': 'E',
            'value': '1'
          }
        }
      },
      {
        'name': 'MP Stoinis',
        'stats': {
          'overs': {
            'name': 'overs',
            'text': 'O',
            'value': '4.2'
          },
          'wickets': {
            'name': 'wickets',
            'text': 'E',
            'value': '3'
          }
        }
      }
    ],
    'team': {
      'teamDisplayName': 'SOUTH AFRICA',
      'innDisplayName': 'INNINGS',
      'runs': 153,
      'overs': 29.2,
      'wickets': 4,
      'description': 'target reached',
      'inningsRunWicket': '153/4',
      'inningStatus': ''
    }
  }
}

如果有人可以帮助处理数据帧,他也可以这样做。我还粘贴了一个图像作为数据帧的参考。

这是我的数据帧

enter image description here

我只想遍历json值,不管它是来自dictionary还是来自data frame