【问题标题】:Make value_counts() return 0 if the value does not occur如果值不存在,则使 value_counts() 返回 0
【发布时间】:2017-02-22 02:52:36
【问题描述】:

我在 pandas DataFrame 中填充一个新列,其中包含列表中每个数字的值计数。

test_scores_series['Label_{}'.format(choices[i])] = test_scores_series.apply(lambda y: y.value_counts() , axis=1)[choices[i]]

现在,当choices[i] = 10 或任何未出现在当前列中的值时,我会得到该值的 KeyError!

据我了解, value_counts() 只返回不为零的计数。如果找不到该值,如何绕过 KeyError 并归零?

这不是任何与字典相关的问题的重复。这是熊猫特有的问题。显然,在旧版本中,pandas 也会返回计数为零的键,并且不再发生这种情况。

【问题讨论】:

    标签: python pandas numpy


    【解决方案1】:

    我想你想要的是

    test_scores_series.apply(lambda y: y.value_counts() , axis=1).get(choices[i], 0)
    

    【讨论】:

      猜你喜欢
      • 2019-05-23
      • 2019-02-15
      • 2018-04-10
      • 2015-01-18
      • 2013-09-23
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多