我在pandas DataFrame中填充一个新列,列表中每个数字的值都是。
test_scores_series['Label_{}'.format(choices[i])] = test_scores_series.apply(lambda y: y.value_counts() , axis=1)[choices[i]]
现在,当choice [i] = 10或当前列中没有出现的任何值时,我得到该值的KeyError!
据我所知,value_counts()只返回计数,只要它们不为零。如果找不到值,如何绕过KeyError并归零?
这不是与字典相关的任何问题的重复。这是一个特定的熊猫问题。显然在旧版本中,大熊猫也会返回零计数的键,而且它不会再发生了。
答案 0 :(得分:0)
如果选择是字典,请尝试
choices.get(i, 0)
如果不是,请问您可以choices.head()
提供数据框的样子吗?
答案 1 :(得分:0)
我认为你想要的是
test_scores_series.apply(lambda y: y.value_counts() , axis=1).get(choices[i], 0)