将postgres中的数据加载到jupyter笔记本中的奇怪行为

xmq68pz9  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(354)

我正在使用spark.read.jdbc将postgres的数据加载到我的jupyter笔记本中。
数据库中有六列具有以下值:

0.7079593058049073, 0.6, 0.6, 0.4, 0.33, 0.777778

然后我从加载的数据中选择数据,并使用df.select()将其转换为pandasDataframe

0.7079593058049073, 0.6, 0.6, 0.4, 0.330000000000000000, 0.777800000000000000

然后我使用np.hstack将其转换为numpy,结果如下所示:

0.7079593058049073, 0.6, 0.6, 0.4, Decimal('0.330000000000000000'),Decimal('0.777800000000000000')

我不明白为什么相似的列会以不同的方式变化。我想防止它变成numpy中的十进制值。在我的postgres数据库中,所有这些列都是数字。为什么它们在python中的行为不同?
更新:
当我使用np.hstack方法将pandasDataframe与其他Dataframe组合时,我通过向pandasDataframe添加\u numpy(dtype=float)来修复我的问题。所以我的问题解决了。然而,我仍然无法解释这种行为,所以我将把这个问题留待讨论。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题