Replace 如何在pyspark中替换左联接表中的空值

Replace 如何在pyspark中替换左联接表中的空值,replace,null,pyspark,Replace,Null,Pyspark,我有两张桌子。表1有500万行,表2有300万行。当我执行table1.join(table2,…‘left_outer’)时,表2中的所有列在新表中都有空值。如下所示(表2中的var3和4是不同长度字符串的数组): 我计划在连接后使用countvectorizer,它不能处理空值。所以我想用字符串类型的空数组替换空值 这是一个类似于中讨论的问题 但是我从表2中得到了10多个变量,每个变量都有不同的维度 我能做什么有什么建议吗?我可以在加入之前使用countvectorizer吗?数据帧具有.n

我有两张桌子。表1有500万行,表2有300万行。当我执行table1.join(table2,…‘left_outer’)时,表2中的所有列在新表中都有空值。如下所示(表2中的var3和4是不同长度字符串的数组):

我计划在连接后使用countvectorizer,它不能处理空值。所以我想用字符串类型的空数组替换空值

这是一个类似于中讨论的问题

但是我从表2中得到了10多个变量,每个变量都有不同的维度

我能做什么有什么建议吗?我可以在加入之前使用countvectorizer吗?

数据帧具有.na.fill()属性

replace_cols = {col:'' for col in df.columns}
df.na.fill(replace_cols)

从技术上讲,如果在左外部联接之后所有结果行都为null,那么就没有可联接的内容。你确定这工作正常吗?如果只有部分结果为空,那么您可以通过将左外连接更改为内连接来消除它们。只有一些行为空,我需要保留这些行。这个问题在countervectorizer似乎无法处理na中得到了解决。所以在这种情况下,na.fill或fillna对我不起作用。
replace_cols = {col:'' for col in df.columns}
df.na.fill(replace_cols)