Python和R编码给出了不同的结果

2024-09-29 23:29:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将一个R脚本翻译成Python,但是,我发现Python和R之间的编码结果是不同的

在R中:

> digest('0003bf82df1e0255a352b89d431a831d_NA', algo='xxhash32')
[1] "d6865d43"

在Python中:

>>> xxhash.xxh32('0003bf82df1e0255a352b89d431a831d_NA').hexdigest()
'3c0493fd

它们都使用相同的算法,并且都使用默认的seed = 0。但为什么会这样

任何帮助都将不胜感激


Tags: 脚本算法编码seeddigestnaxxh32xxhash
1条回答
网友
1楼 · 发布于 2024-09-29 23:29:05

seed=0仅在重复实例上传递给相同的随机数生成器时才会给出相同的值流

将seed=0传递给两个不同的随机数生成器将给出不同的值流

诚然R's random number generatorPython's random number generator在默认情况下都是Mersenne Twister,但底层实现是demonstratively different

因为随机数生成依赖于一些底层实现,R is not even consistent across versionsPython technically isn't either在Python2.3之前,它使用了不同的随机数生成器,但是当前支持的所有python版本都是一致的

相关问题 更多 >

    热门问题