将 Dask Dataframe 相乘会产生 NaN 值

问题描述 投票:0回答:1

我正在使用 dask.distrinulated,并且我有两个 dask DataFrame A 和 B。两者具有相同数量的分区,每个分区都是一个 2D DataFrame,包含具有 float64 值的相同列和行。当我乘以 dask 数据帧

A*B
并计算结果时。我得到了一个相同大小的 dask 数据框,其中充满了 NaN 值。

我尝试单独计算每个数据帧的单个分区,如下所示:

A.partitions[1].compute()
B.partitions[1].compute()

并且两者都不包含 NaN 值。我将两者相乘:

A.partitions[1].compute()*B.partitions[1].compute()

我仍然得到一个相同大小的充满 NaN 值的数据帧。问题可能是什么,为什么我没有得到 float64 的实际结果?请注意,其他乘法运算似乎工作正常。会不会和图层不同有关?

pandas dataframe parallel-processing dask dask-distributed
1个回答
0
投票

通过简单地将 dask 数据帧的两列等同起来解决了这个问题:

A.columns == B.columns 

尽管经过检查,列和行似乎具有相同的名称、数字和类型,但似乎存在未被注意到的差异。

© www.soinside.com 2019 - 2024. All rights reserved.