每次重新启动笔记本电脑时,pandas value_count()都会显示不同的值

时间:2020-10-20 17:09:33

标签: python pandas jupyter-notebook jupyter jupyter-lab

每次我重新启动jupyter-lab笔记本时,value_count()都会显示不同的值。

bid = customers['BasketID']
bid.value_counts()

这是两次处决的结果:

576339     542
573585     535
579196     533
580727     529
578270     442
          ... 
563453       1
C567706      1
548001       1
C546895      1
574519       1
Name: BasketID, Length: 24627, dtype: int64



576339     542
573585     535
579196     533
580727     529
578270     442
          ... 
C562808      1
575205       1
549004       1
C542991      1
565577       1
Name: BasketID, Length: 24627, dtype: int64

如您所见,总是存在以字母开头的不同数字。

由于在笔记本中我必须引用这些数字之一,所以每次迭代都不能更改它。

有没有办法使方法的输出具有确定性?

我猜这种奇怪的行为是由于该方法使用的排序算法造成的。也许有一种方法可以查看/设置算法所使用的随机数生成器的种子?

1 个答案:

答案 0 :(得分:2)

if (age.length() < 5 || age.length() > 60) { return false; } 默认具有value_counts,它很可能使用快速排序进行排序。您可以尝试使用sort=True禁用它,它返回带有排序索引的系列:

sort=False

如果您仍然希望对序列进行排序,则可以使用bid.value_counts(sort=False) 进行手动排序,并使用稳定的sort_values方法:

mergesort