客观的
df_labelled
将文件与部分标记点合并到df
包含所有点的位置。
我尝试过的
参考Simple way to Dask concatenate (horizontal, axis=1, columns),我尝试了下面的代码
df = df.repartition(npartitions=200)
df = df.reset_index(drop=True)
df_labelled = df_labelled.repartition(npartitions=200)
df_labelled = df_labelled.reset_index(drop=True)
df = df.assign(label = df_labelled.label)
df.head()
但我得到了错误
ValueError:并非所有分区都是已知的,无法对齐分区。请使用set_index设置索引。
我尝试过的另一件事是对表进行左连接,但所有标签都为 NaN,你能解释一下我做错了什么吗?
result = dd.merge(df, df_labelled, on=['x', 'y', 'z','R', 'G', 'B'], how="left")
result.head()
x y z R G B label
0 39020.470000 33884.200003 36.445701 25 39 26 NaN
1 39132.740002 33896.049994 30.405700 19 24 18 NaN
2 39221.059994 33787.050001 26.605700 115 145 145 NaN
无论如何我可以达到如下预期的结果吗?我无法在 Pandas 中运行,因为有很多点会导致 Pandas 内存问题。
数据
df(该文件包含所有点)
x y z R G B
0 39047.700012 33861.890015 48.115704 7 18 12
1 39044.110016 33860.150024 47.135700 14 28 15
2 39049.280029 33861.950073 49.405701 30 58 33
3 39029.030000 33937.689993 48.425700 152 154 143
4 39066.980000 33937.870001 49.725699 209 218 225
5 39069.810002 33795.460001 42.405699 113 136 154
df_labelled(该文件包含一部分标记点)
x y z R G B label
0 39047.700012 33861.890015 48.115704 7 18 12 14
1 39044.110016 33860.150024 47.135700 14 28 15 14
2 39049.280029 33861.950073 49.405701 30 58 33 14
预期结果
x y z R G B label
0 39047.700012 33861.890015 48.115704 7 18 12 14
1 39044.110016 33860.150024 47.135700 14 28 15 14
2 39049.280029 33861.950073 49.405701 30 58 33 14
3 39029.030000 33937.689993 48.425700 152 154 143 nan
4 39066.980000 33937.870001 49.725699 209 218 225 nan
5 39069.810002 33795.460001 42.405699 113 136 154 nan
翻过高山走不出你
相关分类