我有两个桌子。表1具有500万行,表2具有300万行。当我执行table1.join(table2,...,'left_outer')时,表2中的所有列在新表中都为空值。看起来如下(表2中的var3和4是长度可变的字符串数组):
t1.id var1 var2 table2.id table2.var3 table2.var4
1 1.3 4 1 ['a','b','d'] ['x','y','z']
2 3.0 5 2 ['a','c','m','n'] ['x','z']
3 2.3 5
我计划在连接后使用countvectorizer,它不能处理空值。所以我想将空值替换为字符串类型的空数组。
与PySpark replace Null with Array
中讨论的问题类似但是我在表2中有10多个变量,每个变量都有不同的维度。
我能做什么建议?我可以在加入之前做countvectorizer吗?
答案 0 :(得分:0)
数据框具有.na.fill()属性。
replace_cols = {col:'' for col in df.columns}
df.na.fill(replace_cols)