我有以下工作代碼:pyspark:保持功能的lambda表達式
def replaceNone(row):
myList = []
row_len = len(row)
for i in range(0, row_len):
if row[i] is None:
myList.append("")
else:
myList.append(row[i])
return myList
rdd_out = rdd_in.map(lambda row : replaceNone(row))
這裏row
是from pyspark.sql import Row
然而,這是一種冗長和醜陋。是否可以通過直接在lambda進程中寫入所有內容來避免編寫replaceNone
函數?或者至少簡化replaceNone()?謝謝!
通常我會說這聽起來像你希望你的[代碼審查(HTTP://代碼審查.stackexchange.com),但這很容易通過一個簡單的[三元表達式](http://stackoverflow.com/questions/394809/does-python-have-a-ternary-conditional-operator)和列表理解來解決。 –
...這與我在收到的答案中提到或提到的任何內容有什麼關係? –