【问题标题】:KeyError in python dataframepython数据框中的KeyError
【发布时间】:2019-11-25 12:00:24
【问题描述】:

我尝试合并获胜数据集和原始口袋妖怪数据集

    numberOfWins = numberOfWins.sort_index()
    numberOfWins['Total Fights'] = countByFirst.Winner + countBySecond.Winner

    numberOfWins['Win Percentage'] = numberOfWins.First_pokemon/numberOfWins['Total Fights']

    results2 = pd.merge(pokemon, numberOfWins, right_index = True, left_on = 'Number')
    results3 = pd.merge(pokemon, numberOfWins, left_on='Number', right_index = True, how='left')

错误: /usr/local/lib/python3.6/dist-packages/pandas/core/generic.py in _get_label_or_level_values(self, key, axis) 1772 值 = self.axes[轴].get_level_values(key)._values 1773 其他: -> 1774 引发 KeyError(键) 1775 第1776章

KeyError: '数字'

【问题讨论】:

    标签: python


    【解决方案1】:

    首先通过 -> df[['Number']].drop_duplicates() 从右表中删除重复键

    检查两个表上键的拼写并在下面的合并中提及 然后使用 pd.merge(pokemon, numberOfWins, how='left', left_on= 'Number', right_on='Number')

    【讨论】:

      【解决方案2】:

      试试:

      numberOfWins = numberOfWins.sort_index()
      numberOfWins['Total Fights'] = countByFirst.Winner + countBySecond.Winner
      
      numberOfWins['Win Percentage'] = numberOfWins.First_pokemon/numberOfWins['Total Fights']
      
      results2 = pd.merge(pokemon, numberOfWins, right_index = True, left_on = 'Number', right_on = 'Number')
      results3 = pd.merge(pokemon, numberOfWins, left_on='Number', right_on = 'Number' right_index = True, how='left')
      

      确保两个数据帧中都有一个名为 Number 的列,该列具有相同的类型,并且显然也应该具有两者中都存在的值。

      【讨论】:

        猜你喜欢
        • 2020-03-25
        • 2020-09-16
        • 1970-01-01
        • 2020-03-21
        • 1970-01-01
        • 1970-01-01
        • 2015-09-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多