【发布时间】:2016-06-08 22:14:16
【问题描述】:
我使用以下代码将 DataFrame 行中的 None 值替换为空字符串:
def replaceNone(row):
row_len = len(row)
for i in range(0, row_len):
if row[i] is None:
row[i] = ""
return row
在我的 pyspark 代码中:
data_out = df.rdd.map(lambda row : replaceNone(row)).map(
lambda row : "\t".join( [x.encode("utf-8") if isinstance(x, basestring) else str(x).encode("utf-8") for x in row])
)
然后我得到以下错误:
File "<ipython-input-10-8e5d8b2c3a7f>", line 1, in <lambda>
File "<ipython-input-2-d1153a537442>", line 6, in replaceNone
TypeError: 'Row' object does not support item assignment
有人知道这个错误吗?如何将一行中的“无”值替换为空字符串?谢谢!
【问题讨论】:
-
试试
df.replace('None',' ')。
标签: python pyspark apache-spark-sql