推断dtypes时Pandas会改变值

我遇到了以下问题:

我有一个结构为jsonlines文件的文件:

{"id": 1, "uuid": "1344800117571260417"}
{"id": 2, "uuid": "1344900117571260918"}

如果我尝试像这样用 Pandas 阅读它:

df = pd.read_json('file.jsonl', orient='records', lines=True)

我得到以下信息DataFrame

   id                 uuid
0   1  1344800117571260416
1   2  1344900117571260928

但是uuid有不同的值,我在想这里发生了一些溢出,但我不确定。pandas为该列推断的类型是int64,但np.iinfo(np.int64).max9223372036854775807,这远高于该uuid列中的值。

此问题的直接解决方案是禁用推断类型,例如pd.read_json(..., dtype=False),但我对这种意外行为很好奇,有人知道为什么会这样吗?

顺便说一句,我正在使用pandasversion1.0.1pythonversion 3.7.6

以上是推断dtypes时Pandas会改变值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>