如何在Pandas中将大数字放入数据类型?

3

我有一个范围从0到3.4е+23的数字。这个库中“最大”的数据格式是'int64'(即Хе+18)。

请帮助我,我该如何“读取”这些数据,因为我想用Sklearn来训练它们。另外,由于数字很大,我无法对数据应用StandartScaler/Normalizer。

我可以这样更改数据类型:

df['df'] = df['df'].astype('int64')

你知道一些改变数据类型的方法吗? 或者你知道如何在整个DataFrame上执行某些操作吗?


sklearnnumpy 协同工作。由于 numpy 不支持大于 int64 的数据类型,因此 sklearn 也不支持。虽然 python 支持大整数,但使用对象数据类型数组会很慢,而且可能无法正常工作。 - hpaulj
4
为什么使用整数?只需使用np.float64即可。 - dankal444
@dankal444 谢谢你,但那只是一个样本。我使用的是float64,但仍然不起作用:“ValueError: 输入包含NaN、无穷大或值过大,超出了dtype('float32')的范围。” 附言:我没有NaN值或float32。感谢您的帮助。 - TheRealVVD
1
如果您没有可复现的代码,我们很难为您提供帮助。如果 sklearn 告诉您 float32,则表示您提供了 float32。 - dankal444
1个回答

0

你尝试过先声明一个基于 Python 允许的大整数的自定义类型吗? 我没有测试过,但是这里有一种在 Pandas 中使用自定义数据类型的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接