我正在使用 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 的实际结果?请注意,其他乘法运算似乎工作正常。会不会和图层不同有关?
通过简单地将 dask 数据帧的两列等同起来解决了这个问题:
A.columns == B.columns
尽管经过检查,列和行似乎具有相同的名称、数字和类型,但似乎存在未被注意到的差异。