首页 > 解决方案 > Pandas DataFrame 创建在循环中引发 ValueError

问题描述

我有一个嵌套字典(统计信息),我正在尝试将其转换为 Pandas DF。当我运行下面的代码时,我得到了想要的结果:

BAL_sp = pd.DataFrame(data = stats['sp']['Orioles'])

但是,我需要这样做 30 次然后连接结果。当我运行一个 for 循环时,我得到一个ValueError: DataFrame constructor not properly called!我不明白的,它正在识别 stats 中的键在循环中是有效的:

team_dict = {'LAA': 'Angels', 'ARI': 'Diamondbacks', 'BAL': 'Orioles', 'BOS': 'Red Sox', 'CHC': 'Cubs', 'CIN': 'Reds', 
      'CLE': 'Indians', 'COL': 'Rockies', 'DET': 'Tigers', 'HOU': 'Astros', 'KC': 'Royals', 'LAD': 'Dodgers', 
      'WSH':'Nationals', 'NYM': 'Mets', 'OAK': 'Athletics', 'PIT': 'Pirates', 'SD': 'Padres', 'SEA': 'Mariners', 
      'SF': 'Giants', 'STL': 'Cardinals', 'TB': 'Rays', 'TEX': 'Rangers', 'TOR': 'Blue Jays', 'MIN': 'Twins', 
      'PHI': 'Phillies', 'ATL': 'Braves', 'CWS': 'White Sox', 'MIA': 'Marlins', 'NYY': 'Yankees', 'MIL': 'Brewers' }


frames = []
for team in team_dict.values():
    temp = pd.DataFrame(data = stats['sp'][team])
    frames.append(temp)
sp_df = pd.concat(frames)

如果我这样做,它不会引发错误data = [stats['sp'][team]],但这不会产生预期的结果。感谢您的任何帮助。

标签: pythonpandas

解决方案


推荐阅读